@duplicati/ngclient 0.0.42 → 0.0.43
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-45JBSR2F.js +6 -0
- package/{chunk-4EQGEU5E.js → chunk-7CADWXFT.js} +1 -1
- package/{chunk-OJ2CS6D3.js → chunk-CN3765MU.js} +1 -1
- package/{chunk-QLN75PFG.js → chunk-HZVRWBX3.js} +1 -1
- package/{chunk-TCGNOPWE.js → chunk-IH5A7VZA.js} +1 -1
- package/{chunk-UMG632SX.js → chunk-M2HNXB57.js} +1 -1
- package/{chunk-57XJ32TF.js → chunk-N5EDV26Z.js} +1 -1
- package/chunk-RIZNMDZX.js +1 -0
- package/{chunk-BOB7BIYQ.js → chunk-SXQDKOHO.js} +1 -1
- package/{chunk-CMOQLINJ.js → chunk-WUBH66KM.js} +1 -1
- package/{chunk-G6GQ2MDC.js → chunk-WWJ757LM.js} +1 -1
- package/{chunk-YWKLDO7P.js → chunk-XFX4WAZJ.js} +1 -1
- package/{chunk-2AULXET4.js → chunk-YKAKSXUG.js} +1 -1
- package/index.html +1 -1
- package/{main-CTK3HJBN.js → main-VLMX3T2V.js} +1 -1
- package/package.json +1 -1
- package/chunk-5PPKS4ML.js +0 -6
- package/chunk-ZF4CSRRV.js +0 -1
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{a as We,b as Ve}from"./chunk-WWJ757LM.js";import{a as Et,b as Kt}from"./chunk-DNHLTHLR.js";import{a as st}from"./chunk-3NZI2UZ4.js";import{b as W}from"./chunk-KFGIVU27.js";import{a as we,b as ie,c as xe,d as oe,e as Te,f as lt,g as bt,h as Ee,i as Re,k as pt,l as De,m as ve,n as Vt,o as he,p as ee,q as ct,r as Ne}from"./chunk-7TWD5GBS.js";import{a as re,b as _t,d as Lt,e as Ut,g as Ge,i as mt,k as ae,m as ut,n as Bt,p as se,q as le,v as be,w as He}from"./chunk-ED3PEZLO.js";import{a as Xe}from"./chunk-AKLJ23OZ.js";import{H as Se,X as ne}from"./chunk-J3H4BCHI.js";import{c as Gt}from"./chunk-5XX7BU4I.js";import{ia as at}from"./chunk-5ZK3D2RS.js";import{$b as X,Ab as g,Bb as I,Cb as M,Db as w,E as Ye,Eb as a,Fb as r,Gb as m,Hb as U,Ib as B,Jb as Ue,Kb as P,Kc as V,Mc as rt,Qb as T,R as Me,Ra as s,Rb as E,Sb as k,Tb as Je,Ub as et,Vb as ke,Wb as C,X as x,Xb as p,Za as O,_a as Fe,_b as K,ac as L,ea as f,fa as S,fb as J,fc as ge,gc as Ce,hc as fe,ic as c,ja as xt,jc as b,kc as G,lb as F,lc as $t,mc as It,nc as Mt,oc as wt,p as Qe,qa as Ze,ra as it,rc as Rt,sc as Be,tc as vt,uc as tt,vb as _,xb as Pe,yc as ot}from"./chunk-MR4RE3IB.js";import{a as z,c as kt}from"./chunk-C6Q5SG76.js";function tn(t,n){if(t&1&&(a(0,"p"),c(1),r()),t&2){let e=p();s(),b(e._data().message)}}var nn={title:$localize`Are you sure?`,confirmText:$localize`Confirm`,cancelText:$localize`Cancel`},Ke=class t{data=it();_data=V(()=>z(z({},nn),this.data()));closed=Ze();close(n="confirm"){this.closed.emit(n==="confirm")}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=J({type:t,selectors:[["app-confirm-dialog"]],inputs:{data:[1,"data"]},outputs:{closed:"closed"},decls:10,vars:4,consts:[["header",""],["content",""],["footer",""],["spk-button","",1,"",3,"click"],["spk-button","",1,"raised","primary",3,"click"]],template:function(e,i){e&1&&(a(0,"header",0)(1,"h3"),c(2),r()(),a(3,"div",1),F(4,tn,2,1,"p"),r(),a(5,"footer",2)(6,"button",3),C("click",function(){return i.close("cancel")}),c(7),r(),a(8,"button",4),C("click",function(){return i.close("confirm")}),c(9),r()()),e&2&&(s(2),b(i._data().title),s(2),g(i._data().message?4:-1),s(3),b(i._data().cancelText),s(2),b(i._data().confirmText))},styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0})};var dt=class t{fromString(n){if(!n)return null;let e=n.match(/(\d+)([smhDWMY])/);return e&&{value:parseInt(e[1]),unit:e[2]}}toString(n,e){return`${n}${e}`}static \u0275fac=function(e){return new(e||t)};static \u0275prov=Me({token:t,factory:t.\u0275fac,providedIn:"root"})};var ze=class t{#e=x(Xe);s3Providers=W(this.getS3Config("Providers"));s3Regions=W(this.getS3Config("Regions"));s3RegionHosts=W(this.getS3Config("RegionHosts"));s3StorageClasses=W(this.getS3Config("StorageClasses"));storjSatellites=W(this.getStorjConfig("Satellites"));storjAuthenticationMethods=W(this.getStorjConfig("AuthenticationMethods"));openstackProviders=W(this.getOpenstackConfig("Providers"));openstackVersions=W(this.getOpenstackConfig("Versions"));gcsLocations=W(this.getGcsConfig("Locations"));gcsStorageClasses=W(this.getGcsConfig("StorageClasses"));getS3Config(n){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"s3-getconfig",requestBody:{"s3-config":n}}).pipe(Qe(e=>this.#t(e)))}createS3IamUser(n,e){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"s3-iamconfig",requestBody:{"s3-operation":"CanCreateUser","s3-username":n,"s3-password":e}})}createS3PolicyIAM(n){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"s3-iamconfig",requestBody:{"s3-operation":"GetPolicyDoc",path:n}})}getStorjConfig(n){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"storj-getconfig",requestBody:{"storj-config":n}}).pipe(Qe(e=>this.#t(e)))}getOpenstackConfig(n){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"openstack-getconfig",requestBody:{"openstack-config":n}}).pipe(Qe(e=>this.#t(e)))}getGcsConfig(n){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"gcs-getconfig",requestBody:{"gcs-config":n}}).pipe(Qe(e=>this.#t(e)))}#t(n){return(n.Result&&typeof n.Result=="object"&&Object.entries(n.Result).map(([e,i])=>({key:e,value:i})))??[]}static \u0275fac=function(e){return new(e||t)};static \u0275prov=Me({token:t,factory:t.\u0275fac,providedIn:"root"})};function zt(t){return t==null?"":":"+t.toString()}function Xt(t){return t==null?"":t.startsWith("/")?t:"/"+t}function ce(t,n){let e={},i={};return n.searchParams.forEach((o,l)=>{ye[t].dynamicFields?.includes(l)?i[l]=decodeURIComponent(o):e[l]=decodeURIComponent(o)}),{advanced:e,dynamic:i}}function _e(t){let n=t.map(([e,i])=>`${e}=${i?encodeURIComponent(i.toString()):""}`).join("&");return n?"?"+n:""}function Ft(t){let n=t.destinationType;if(!n||!ye.hasOwnProperty(n))throw new Error("Invalid destination type");return ye[n].mapper.to(t)??""}function Dt(t){let n=URL.canParse(t),e=t.split("://")[0],i="http://"+t.split("://")[1],o=new URL(i);if(!n)throw new Error("Invalid target path");return ye[e].mapper.from(e,o,t)}var te=new ee,ye={file:{title:"File system",description:"Store backups on your local file system.",customFields:{path:{type:"FolderTree",name:"path",shortDescription:"File path",longDescription:"The path to store the backup",formElement:t=>te.control(t??"")}},mapper:{to:t=>{let n=_e([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${t.custom.path}${n}`},from:(t,n,e)=>{let i=e.indexOf("file:///")===0,o=e.split(i?"///":"//")[1].substring(0,1)+n.hostname.substring(1);return z({destinationType:t,custom:{path:`${i?"/":""}${o}${n.pathname}`}},ce(t,n))}}},ssh:{title:"SSH",description:"Store backups in SSH.",customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"The server to connect to",formElement:t=>te.control(t??"")},port:{type:"Integer",name:"port",shortDescription:"Port",longDescription:"The port to connect to",formElement:t=>te.control(t??"",[xe.required,xe.max(65535)])},path:{type:"Path",name:"path",shortDescription:"Folder path",longDescription:"Folder path",formElement:t=>te.control(t??"")}},dynamicFields:["auth-username"],advancedFields:[{type:"FileTree",name:"ssh-keyfile",accepts:".key,",shortDescription:"This is a path to a private key file locally on the machine",longDescription:"This is a path to a private key file locally on the machine"}],mapper:{to:t=>{let n=_e([...Object.entries(t.advanced),...Object.entries(t.dynamic)]),{port:e,server:i,path:o}=t.custom;return`${t.destinationType}://${i+zt(e)+Xt(o)+n}`},from:(t,n,e)=>z({destinationType:t,custom:{server:n.hostname,port:n.port,path:n.pathname}},ce(t,n))}},s3:{title:"S3 compatible bucket",description:"Store backups in any S3 compatible bucket.",customFields:{bucket:{type:"String",name:"bucket",shortDescription:"Bucket name",longDescription:"Bucket name",formElement:t=>te.control(t??"")},path:{type:"Path",name:"path",shortDescription:"Folder path",longDescription:"Folder path",formElement:t=>te.control(t??"")}},dynamicFields:[{name:"s3-server-name",shortDescription:"Server",type:"NonValidatedSelectableString",loadOptions:t=>t.get(ze).s3Providers},"use-ssl","auth-username","auth-password"],advancedFields:[{name:"s3-client",type:"Enumeration",options:["aws","minio"]},{name:"s3-storage-class",type:"NonValidatedSelectableString",loadOptions:t=>t.get(ze).s3StorageClasses}],mapper:{to:t=>{let n=_e([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${t.custom.bucket}${t.custom.path.startsWith("/")?t.custom.path:"/"+t.custom.path}${n}`},from:(t,n,e)=>z({destinationType:t,custom:{path:n.pathname,bucket:n.hostname}},ce(t,n))}},gcs:{title:"Google Cloud Storage",description:"Store backups in Google Cloud Storage.",oauthField:"authid",customFields:{path:{type:"Path",name:"path",shortDescription:"Bucket name",longDescription:"Bucket name",formElement:t=>te.control(t??"")}},dynamicFields:[{name:"gcs-location",type:"NonValidatedSelectableString",loadOptions:t=>t.get(ze).gcsLocations},{name:"gcs-storage-class",type:"NonValidatedSelectableString",loadOptions:t=>t.get(ze).gcsStorageClasses},"authid"],mapper:{to:t=>{let n=_e([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${t.custom.path}${n}`},from:(t,n,e)=>z({destinationType:t,custom:{path:n.hostname+n.pathname}},ce(t,n))}},googledrive:{title:"Google Drive",description:"Store backups in Google Drive.",oauthField:"authid",customFields:{path:{type:"Path",name:"path",shortDescription:"Folder path",longDescription:"Folder path",formElement:t=>te.control(t??"")}},dynamicFields:["authid"],mapper:{to:t=>{let n=t.custom.path,e=_e([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${n}${e}`},from:(t,n,e)=>z({destinationType:t,custom:{path:n.hostname+n.pathname}},ce(t,n))}},azure:{title:"Azure Blob Storage",description:"Store backups in Azure Blob Storage.",customFields:{path:{type:"String",name:"path",shortDescription:"Container name",longDescription:"Container name",formElement:t=>te.control(t??"")}},dynamicFields:[{name:"auth-username",shortDescription:"Account name"},{name:"auth-password",shortDescription:"Access key"}],mapper:{to:t=>{let n=t.custom.path,e=_e([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${n}${e}`},from:(t,n,e)=>z({destinationType:t,custom:{path:n.hostname+n.pathname}},ce(t,n))}},onedrivev2:{title:"OneDrive",description:"Store backups in OneDrive.",oauthField:"authid",customFields:{path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>te.control(t??"")}},dynamicFields:["authid"],mapper:{to:t=>{let n=t.custom.path,e=_e([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${n}${e}`},from:(t,n,e)=>z({destinationType:t,custom:{path:n.hostname+n.pathname}},ce(t,n))}},dropbox:{title:"Dropbox",description:"Store backups in Dropbox.",oauthField:"authid",customFields:{path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>te.control(t??"")}},dynamicFields:["authid"],mapper:{to:t=>{let n=t.custom.path,e=_e([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${n}${e}`},from:(t,n,e)=>z({destinationType:t,custom:{path:n.hostname+n.pathname}},ce(t,n))}},box:{title:"Box.com",description:"Store backups in Box.com.",oauthField:"authid",customFields:{path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>te.control(t??"")}},dynamicFields:["authid"],mapper:{to:t=>{let n=t.custom.path,e=_e([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${n}${e}`},from:(t,n,e)=>z({destinationType:t,custom:{path:n.hostname+n.pathname}},ce(t,n))}},jottacloud:{title:"Jottacloud",description:"Store backups in Jottacloud.",oauthField:"authid",customFields:{path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>te.control(t??"")}},dynamicFields:["authid"],mapper:{to:t=>{let n=t.custom.path,e=_e([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${n}${e}`},from:(t,n,e)=>z({destinationType:t,custom:{path:n.hostname+n.pathname}},ce(t,n))}}};var Ht=/[a-zA-Z0-9_\-\+\.!@#$%^&*?_~()-]/,gt=class t{generate(n,e=Ht){let i;do i=this.generatePassword(n,e);while(this.calculatePasswordStrength(i)<5);return i}generatePassword(n,e=Ht){let i=this;return Array.apply(null,{length:n}).map(()=>{let o;for(;;)if(o=String.fromCharCode(i.#e()),e.test(o))return o},this).join("")}calculatePasswordStrength(n){let e=1;return n.length>=8&&e++,n.match(/[a-z]/)&&n.match(/[A-Z]/)&&e++,n.match(/\d+/)&&e++,n.match(/.[!,@,#,$,%,^,&,*,?,_,~,(,),-]/)&&e++,Math.min(e,5)}#e(){if(window.crypto&&window.crypto.getRandomValues){let n=new Uint8Array(1);return window.crypto.getRandomValues(n),n[0]}else if(window.msCrypto&&window.msCrypto.getRandomValues){let n=new Uint8Array(1);return window.msCrypto.getRandomValues(n),n[0]}else return Math.floor(Math.random()*256)}static \u0275fac=function(e){return new(e||t)};static \u0275prov=Me({token:t,factory:t.\u0275fac,providedIn:"root"})};var on=["formRef"];function rn(t,n){if(t&1&&(a(0,"spk-option",27),c(1),r()),t&2){let e=n.$implicit;_("value",e.Key),s(),b(e.DisplayName)}}function an(t,n){if(t&1&&m(0,"spk-progress-bar",38),t&2){let e=p(3);Pe("warn",e.calculatePasswordStrength()===1)("tertiary",e.calculatePasswordStrength()===2)("primary",e.calculatePasswordStrength()===4)("success",e.calculatePasswordStrength()===5),_("value",e.calculatePasswordStrength()*(100/5))}}function sn(t,n){t&1&&(a(0,"span",33),k(1,9),r())}function ln(t,n){t&1&&(T(0,7,1),m(1,"spk-icon"),E())}function pn(t,n){t&1&&(T(0,7,2),m(1,"spk-icon"),E())}function cn(t,n){t&1&&(T(0,10,1),m(1,"spk-icon",40),E())}function _n(t,n){t&1&&(T(0,10,2),m(1,"spk-icon"),E())}function mn(t,n){if(t&1){let e=P();a(0,"button",39),C("click",function(){f(e);let o=p(3);return S(o.copyPassword())}),T(1,10),F(2,cn,2,0)(3,_n,2,0),E(),r()}if(t&2){let e=p(3);s(2),g(e.copiedPassword()?2:3)}}function un(t,n){t&1&&(a(0,"spk-alert",37),k(1,11),r())}function dn(t,n){if(t&1){let e=P();a(0,"div",28)(1,"spk-form-field")(2,"label",29),T(3,6),m(4,"sup"),E(),r(),m(5,"input",30),r(),F(6,an,1,9,"spk-progress-bar",31),a(7,"spk-form-field"),m(8,"input",32),F(9,sn,2,0,"span",33),r(),a(10,"div",34)(11,"button",35),C("click",function(){f(e);let o=p(2);return S(o.showPassword.set(!o.showPassword()))}),T(12,7),F(13,ln,2,0)(14,pn,2,0),E(),r(),a(15,"button",35),C("click",function(){f(e);let o=p(2);return S(o.generatePassword())}),T(16,8),m(17,"spk-icon"),E(),r(),F(18,mn,4,1,"button",36),r(),F(19,un,2,0,"spk-alert",37),r()}if(t&2){let e=p(2);s(5),_("type",e.showPassword()?"text":"password"),s(),g(e.generalForm.value.password?6:-1),s(2),_("type",e.showPassword()?"text":"password"),s(),g(e.generalForm.value.repeatPassword&&e.generalForm.value.repeatPassword!==e.generalForm.value.password?9:-1),s(4),g(e.showPassword()?13:14),s(5),g(e.showCopyPassword()?18:-1),s(),g(e.generalForm.value.password&&e.generalForm.value.password===e.generalForm.value.repeatPassword?19:-1)}}function Fn(t,n){if(t&1&&(a(0,"spk-select",24)(1,"label",25),k(2,5),r(),m(3,"input",26),M(4,rn,2,2,"spk-option",27,I),r(),F(6,dn,20,7,"div",28)),t&2){let e=p();_("displayFn",e.displayFn()),s(4),w(e.encryptionOptions()),s(2),g(e.encryptionFieldSignal()!==""?6:-1)}}function gn(t,n){if(t&1&&(a(0,"button",22),T(1,12),m(2,"spk-icon"),E(),r()),t&2){let e=p();_("disabled",e.generalForm.invalid)}}function Cn(t,n){if(t&1&&(a(0,"spk-tooltip",23)(1,"button",22),T(2,13),m(3,"spk-icon"),E(),r()()),t&2){let e=p();_("disabled",!(e.showCopyPassword()&&!e.copiedPassword())),s(),_("disabled",e.generalForm.invalid||e.showCopyPassword()&&!e.copiedPassword())}}var qe=new ee,Wt=(t={name:"",description:"",encryption:"",password:"",repeatPassword:""})=>qe.group({name:qe.control(t.name,[xe.required]),description:qe.control(t.description),encryption:qe.control(t.encryption,[Kt()]),password:qe.control(t.password,[Et(n=>n?.value.encryption!=="",[xe.required])]),repeatPassword:qe.control(t.repeatPassword,[Et(n=>n?.value.encryption!=="",[xe.required])])}),Nt={Key:"",DisplayName:"None"},ht=class t{#e=x(ne);#t=x(Se);#i=x(gt);#o=x(pe);#n=x(st);formRef=Fe.required("formRef");generalForm=this.#o.generalForm;generalFormSignal=this.#o.generalFormSignal;encryptionFieldSignal=this.#o.encryptionFieldSignal;encryptionOptions=this.#o.encryptionOptions;isNew=this.#o.isNew;showPassword=O(!1);copiedPassword=O(!1);showCopyPassword=O(!1);encryptionEffect=rt(()=>{this.encryptionFieldSignal()===""&&(this.copiedPassword.set(!1),this.showCopyPassword.set(!1))});calculatePasswordStrength=V(()=>{let e=this.generalFormSignal()?.password??"";return this.#i.calculatePasswordStrength(e)});ngOnInit(){this.formRef().nativeElement.focus()}exit(){this.#o.exit()}async copyPassword(){let n=this.generalForm.controls.password.value;await this.#r(n??""),this.copiedPassword.set(!0)}async#r(n){try{await navigator.clipboard.writeText(n)}catch{try{let i=document.createElement("textarea");i.value=n,document.body.appendChild(i),i.select(),document.execCommand("copy"),document.body.removeChild(i)}catch(i){console.error("Failed to copy text: ",i)}}}displayFn(){let n=this.#n.systemInfo()?.EncryptionModules??[];return e=>{let i=[Nt,...n].find(o=>o.Key===e);return i?`${i.DisplayName}`:""}}generatePassword(){this.copiedPassword.set(!1);let n=this.#i.generate(16);this.generalForm.controls.password.setValue(n),this.generalForm.controls.repeatPassword.setValue(n),this.showCopyPassword.set(!0)}next(){this.#e.navigate(["destination"],{relativeTo:this.#t.parent})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=J({type:t,selectors:[["app-general"]],viewQuery:function(e,i){e&1&&ge(i.formRef,on,5),e&2&&Ce()},decls:20,vars:3,consts:()=>{let n;n=$localize`Your backup name`;let e;e=$localize`Your backup description`;let i;i=$localize`General backup settings`;let o;o=$localize` Backup name ${"\uFFFD#7\uFFFD"}:START_SUPERSCRIPT:*${"\uFFFD/#7\uFFFD"}:CLOSE_SUPERSCRIPT:`;let l;l=$localize`Backup description`;let u;u=$localize`${"\uFFFD#17\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#17\uFFFD"}:CLOSE_TAG_SPK_ICON: Exit `;let A;A=$localize`Encryption`;let $;$=$localize`Encryption`;let N;N=$localize`Password`;let q;q=$localize`Repeat password`;let Q;Q=$localize` Create a password ${"\uFFFD#4\uFFFD"}:START_SUPERSCRIPT:*${"\uFFFD/#4\uFFFD"}:CLOSE_SUPERSCRIPT:`;let v;v=$localize`${"\uFFFD*13:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:eye-slash${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: hide ${"\uFFFD/*13:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*14:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:eye${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: show ${"\uFFFD/*14:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,v=ke(v);let Y;Y=$localize`${"\uFFFD#17\uFFFD"}:START_TAG_SPK_ICON:password${"\uFFFD/#17\uFFFD"}:CLOSE_TAG_SPK_ICON: Generate password `;let Z;Z=$localize`Passwords do not match`;let D;D=$localize`${"\uFFFD*2:1\uFFFD"}:START_BLOCK_IF:${"\uFFFD#1:1\uFFFD"}:START_TAG_SPK_ICON:check${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Copied password ${"\uFFFD/*2:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*3:2\uFFFD"}:START_BLOCK_ELSE:${"\uFFFD#1:2\uFFFD"}:START_TAG_SPK_ICON_1:copy${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Copy password ${"\uFFFD/*3:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,D=ke(D);let d;d=$localize` Tip: Be sure to save your password. If you loose it you will lose access to your backups. `;let h;h=$localize` Continue ${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let H;return H=$localize` Continue ${"\uFFFD#3\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#3\uFFFD"}:CLOSE_TAG_SPK_ICON:`,[["formRef",""],i,o,l,u,$,Q,v,Y,Z,D,d,h,H,["autocomplete","off",3,"submit","formGroup"],[1,"title-30"],["for","backupName"],["type","text","tabindex","1","placeholder",n,"formControlName","name"],["for","backupDescription"],["id","backupDescription","tabindex","2","placeholder",e,"formControlName","description"],[1,"form-actions"],["type","button","spk-button","",3,"click"],["spk-button","","type","submit",1,"raised","primary",3,"disabled"],["message","Remember to copy the password",1,"primary",3,"disabled"],[3,"displayFn"],["for","encryption"],["type","text","id","encryption","tabindex","3","placeholder",A,"formControlName","encryption"],[3,"value"],[1,"passwords"],["for","password"],["id","password","tabindex","4","autocomplete","off","placeholder",N,"formControlName","password",3,"type"],[1,"raised",3,"warn","tertiary","primary","success","value"],["id","repeatPassword","tabindex","5","autocomplete","off","placeholder",q,"formControlName","repeatPassword",3,"type"],["error",""],[1,"password-actions"],["spk-button","","type","button",1,"small",3,"click"],["spk-button","","type","button",1,"small","copy"],["type","primary"],[1,"raised",3,"value"],["spk-button","","type","button",1,"small","copy",3,"click"],[1,"spk-success"]]},template:function(e,i){if(e&1){let o=P();a(0,"form",14,0),C("submit",function(){return f(o),S(i.next())}),a(2,"h3",15),k(3,1),r(),a(4,"spk-form-field")(5,"label",16),T(6,2),m(7,"sup"),E(),r(),m(8,"input",17),r(),a(9,"spk-form-field")(10,"label",18),k(11,3),r(),m(12,"textarea",19),r(),F(13,Fn,7,2),a(14,"div",20)(15,"button",21),C("click",function(){return f(o),S(i.exit())}),T(16,4),m(17,"spk-icon"),E(),r(),F(18,gn,3,1,"button",22)(19,Cn,4,2,"spk-tooltip",23),r()()}e&2&&(_("formGroup",i.generalForm),s(13),g(i.isNew()?13:-1),s(5),g(i.encryptionFieldSignal()===""?18:19))},dependencies:[Ne,Ee,ie,oe,Te,De,he,ae,le,Ge,re,se,Bt,_t,He],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:32.5rem;padding:2.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}sup[_ngcontent-%COMP%]{padding:0 .125rem;color:var(--warn-500)}.passwords[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.password-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:center}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.copy[_ngcontent-%COMP%] spk-icon.spk-success[_ngcontent-%COMP%]{color:var(--success-500)}"],changeDetection:0})};var fn=["formRef"],Sn=(t,n)=>({index:t,formView:n,formGroupName:"advancedOptions",destinationType:null,oauthField:null}),Tn=t=>({$implicit:t});function En(t,n){if(t&1&&(a(0,"spk-option",17),c(1),r()),t&2){let e=n.$implicit;_("value",e),s(),b(e)}}function Dn(t,n){if(t&1&&(a(0,"spk-option",17),c(1),r()),t&2){let e=n.$implicit;_("value",e.value),s(),b(e.name)}}function hn(t,n){if(t&1){let e=P();T(0,7,1),a(1,"button",29,2),C("click",function(){let o=f(e).$implicit,l=p();return S(l.addNewOption(o))}),r(),E()}if(t&2){let e=n.$implicit;s(),Je(e.name),et(0)}}function Nn(t,n){t&1&&Ue(0)}function An(t,n){if(t&1&&F(0,Nn,1,0,"ng-container",30),t&2){let e=n.$implicit,i=n.$index;p();let o=fe(35);_("ngTemplateOutlet",o)("ngTemplateOutletContext",Be(5,Tn,vt(2,Sn,i,e)))}}function yn(t,n){if(t&1&&(a(0,"spk-tooltip",40)(1,"spk-icon"),c(2,"question"),r()()),t&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function On(t,n){if(t&1&&(a(0,"app-file-tree",33)(1,"label",39),c(2),F(3,yn,3,1,"spk-tooltip",40),r(),m(4,"input",41),r()),t&2){let e,i=p().$implicit,o=p();_("startingPath",o.getFormFieldValue(0,i.formGroupName,i.formView.name))("accepts",i.formView.accepts)("showFiles",!0)("showHiddenNodes",!0)("selectFiles",!0),s(),X("for","destination-",i.formGroupName,"-",i.index,""),s(),G(" ",(e=i.formView.shortDescription)!==null&&e!==void 0?e:i.formView.name," "),s(),g(i.formView.longDescription?3:-1),s(),X("id","destination-",i.formGroupName,"-",i.index,""),K("formControlName",i.formView.name)}}function Pn(t,n){if(t&1&&(a(0,"spk-tooltip",40)(1,"spk-icon"),c(2,"question"),r()()),t&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function kn(t,n){if(t&1&&(a(0,"app-file-tree",34)(1,"label",39),c(2),F(3,Pn,3,1,"spk-tooltip",40),r(),m(4,"input",41),r()),t&2){let e,i=p().$implicit,o=p();_("startingPath",o.getFormFieldValue(0,i.formGroupName,i.formView.name)),s(),X("for","destination-",i.formGroupName,"-",i.index,""),s(),G(" ",(e=i.formView.shortDescription)!==null&&e!==void 0?e:i.formView.name," "),s(),g(i.formView.longDescription?3:-1),s(),X("id","destination-",i.formGroupName,"-",i.index,""),K("formControlName",i.formView.name)}}function xn(t,n){if(t&1&&(a(0,"spk-tooltip",40)(1,"spk-icon"),c(2,"question"),r()()),t&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function $n(t,n){t&1&&(a(0,"spk-icon",42),c(1,"link"),r())}function In(t,n){t&1&&(a(0,"spk-icon",42),c(1,"textbox"),r())}function Mn(t,n){if(t&1&&(a(0,"spk-form-field")(1,"label",39),c(2),F(3,xn,3,1,"spk-tooltip",40),r(),m(4,"input",41),F(5,$n,2,0,"spk-icon",42)(6,In,2,0,"spk-icon",42),r()),t&2){let e,i=p().$implicit;s(),X("for","destination-",i.formGroupName,"-",i.index,""),s(),G(" ",(e=i.formView.shortDescription)!==null&&e!==void 0?e:i.formView.name," "),s(),g(i.formView.longDescription?3:-1),s(),X("id","destination-",i.formGroupName,"-",i.index,""),K("formControlName",i.formView.name),s(),g(i.formView.type==="Path"?5:6)}}function wn(t,n){if(t&1){let e=P();a(0,"span",46),C("click",function(){f(e);let o=p(2).$implicit,l=p();return S(l.oauthStartTokenCreation(o.formViewType))}),c(1,"AuthID"),r()}}function Rn(t,n){t&1&&(a(0,"spk-icon",42),c(1,"password"),r())}function vn(t,n){if(t&1){let e=P();a(0,"spk-icon",47),C("click",function(){f(e);let o=p(2).$implicit;return S(o.formView.showPassword=!o.formView.showPassword)}),c(1," eye "),r()}}function Gn(t,n){if(t&1){let e=P();a(0,"spk-icon",47),C("click",function(){f(e);let o=p(2).$implicit;return S(o.formView.showPassword=!o.formView.showPassword)}),c(1," eye-slash "),r()}}function bn(t,n){if(t&1&&(a(0,"spk-form-field")(1,"label",39),c(2),r(),m(3,"input",43),F(4,wn,2,0,"span",44)(5,Rn,2,0,"spk-icon",42)(6,vn,2,0,"spk-icon",45)(7,Gn,2,0,"spk-icon",45),r()),t&2){let e,i=p().$implicit;s(),X("for","destination-",i.formGroupName,"-",i.index,""),s(),G(" ",(e=i.formView.shortDescription)!==null&&e!==void 0?e:i.formView.name," "),s(),X("id","destination-",i.formGroupName,"-",i.index,""),K("formControlName",i.formView.name),_("type",i.formView.showPassword?"text":"password"),s(),g(i.oauthField===i.formView.name?4:5),s(2),g(i.formView.showPassword?6:7)}}function Vn(t,n){if(t&1&&(a(0,"spk-tooltip",40)(1,"spk-icon"),c(2,"question"),r()()),t&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function Ln(t,n){if(t&1&&(a(0,"spk-option",17),c(1),r()),t&2){let e=n.$implicit;_("value",e),s(),b(e)}}function Un(t,n){if(t&1&&(a(0,"spk-select")(1,"label",39),c(2),F(3,Vn,3,1,"spk-tooltip",40),r(),m(4,"input",48),M(5,Ln,2,2,"spk-option",17,I),r()),t&2){let e,i=p().$implicit;s(),X("for","destination-",i.formGroupName,"-",i.index,""),s(),G(" ",(e=i.formView.shortDescription)!==null&&e!==void 0?e:i.formView.name," "),s(),g(i.formView.longDescription?3:-1),s(),X("id","destination-",i.formGroupName,"-",i.index,""),K("formControlName",i.formView.name),s(),w(i.formView.options)}}function Bn(t,n){if(t&1&&(a(0,"spk-tooltip",40)(1,"spk-icon"),c(2,"question"),r()()),t&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function Kn(t,n){if(t&1&&(a(0,"spk-option",17),c(1),r()),t&2){let e=n.$implicit;_("value",e),s(),b(e)}}function zn(t,n){if(t&1&&(a(0,"div",35)(1,"label",39),c(2),F(3,Bn,3,1,"spk-tooltip",40),r(),a(4,"div",49)(5,"spk-form-field"),m(6,"input",50),a(7,"spk-icon",42),c(8,"resize"),r()(),a(9,"spk-select"),m(10,"label")(11,"input",51),M(12,Kn,2,2,"spk-option",17,I),r()()()),t&2){let e,i=p().$implicit,o=p();_("formGroupName",i.formView.name),s(),X("for","destination-",i.formGroupName,"-",i.index,""),s(),G(" ",(e=i.formView.shortDescription)!==null&&e!==void 0?e:i.formView.name," "),s(),g(i.formView.longDescription?3:-1),s(3),X("id","destination-",i.formGroupName,"-",i.index,""),s(6),w(o.sizeOptions())}}function Xn(t,n){if(t&1&&(a(0,"spk-tooltip",40)(1,"spk-icon"),c(2,"question"),r()()),t&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function Hn(t,n){if(t&1&&(a(0,"spk-form-field")(1,"label",39),c(2),F(3,Xn,3,1,"spk-tooltip",40),r(),m(4,"input",52),a(5,"spk-icon",42),c(6,"numpad"),r()()),t&2){let e,i=p().$implicit;s(),X("for","destination-",i.formGroupName,"-",i.index,""),s(),G(" ",(e=i.formView.shortDescription)!==null&&e!==void 0?e:i.formView.name," "),s(),g(i.formView.longDescription?3:-1),s(),X("id","destination-",i.formGroupName,"-",i.index,""),K("formControlName",i.formView.name)}}function Wn(t,n){if(t&1&&(a(0,"spk-tooltip",40)(1,"spk-icon"),c(2,"question"),r()()),t&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function jn(t,n){if(t&1&&(a(0,"spk-toggle",36)(1,"label",39),c(2),F(3,Wn,3,1,"spk-tooltip",40),r(),m(4,"input",53),r()),t&2){let e,i=p().$implicit;s(),X("for","destination-",i.formGroupName,"-",i.index,""),s(),G(" ",(e=i.formView.shortDescription)!==null&&e!==void 0?e:i.formView.name," "),s(),g(i.formView.longDescription?3:-1),s(),X("id","destination-",i.formGroupName,"-",i.index,""),K("formControlName",i.formView.name)}}function qn(t,n){if(t&1&&(a(0,"spk-tooltip",40)(1,"spk-icon"),c(2,"question"),r()()),t&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function Qn(t,n){t&1&&(a(0,"spk-option",55),c(1,"None"),r()),t&2&&_("value","None")}function Yn(t,n){if(t&1&&(a(0,"spk-option",17),c(1),m(2,"spk-checkbox",56),r()),t&2){let e=p().$implicit;_("value",e),s(),G(" ",e," ")}}function Zn(t,n){if(t&1&&F(0,Qn,2,1,"spk-option",55)(1,Yn,3,2,"spk-option",17),t&2){let e=n.$implicit;g(e==="None"?0:1)}}function Jn(t,n){if(t&1&&(a(0,"spk-select",37)(1,"label",39),c(2),F(3,qn,3,1,"spk-tooltip",40),r(),m(4,"input",54),M(5,Zn,2,1,null,null,I),r()),t&2){let e,i=p().$implicit;_("selectMultiple",!0),s(),X("for","destination-",i.formGroupName,"-",i.index,""),s(),G(" ",(e=i.formView.shortDescription)!==null&&e!==void 0?e:i.formView.name," "),s(),g(i.formView.longDescription?3:-1),s(),K("formControlName",i.formView.name),s(),w(i.formView.options)}}function ei(t,n){if(t&1&&(a(0,"spk-tooltip",40)(1,"spk-icon"),c(2,"question"),r()()),t&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function ti(t,n){if(t&1&&(a(0,"spk-form-field")(1,"label",39),c(2),F(3,ei,3,1,"spk-tooltip",40),r(),m(4,"input",41),r()),t&2){let e,i=p().$implicit;s(),X("for","destination-",i.formGroupName,"-",i.index,""),s(),G(" ",(e=i.formView.shortDescription)!==null&&e!==void 0?e:i.formView.name," "),s(),g(i.formView.longDescription?3:-1),s(),X("id","destination-",i.formGroupName,"-",i.index,""),K("formControlName",i.formView.name)}}function ni(t,n){if(t&1){let e=P();a(0,"div",31),U(1,32),F(2,On,5,14,"app-file-tree",33)(3,kn,5,10,"app-file-tree",34)(4,Mn,7,10,"spk-form-field")(5,bn,8,11,"spk-form-field")(6,Un,7,9,"spk-select")(7,zn,14,9,"div",35)(8,Hn,7,9,"spk-form-field")(9,jn,5,9,"spk-toggle",36)(10,Jn,7,7,"spk-select",37)(11,ti,5,9,"spk-form-field"),B(),a(12,"button",38),C("click",function(){let o=f(e).$implicit,l=p();return S(l.removeFormView(o.formView,0))}),a(13,"spk-icon"),c(14,"x-circle"),r()()()}if(t&2){let e=n.$implicit;s(),_("formGroupName",e.formGroupName),s(),g(e.formView.type==="FileTree"?2:e.formView.type==="FolderTree"?3:e.formView.type==="String"||e.formView.type==="Path"?4:e.formView.type==="Password"?5:e.formView.type==="Enumeration"?6:e.formView.type==="Size"?7:e.formView.type==="Integer"?8:e.formView.type==="Boolean"?9:e.formView.type==="Flags"?10:e.formView.type==="Timespan"?11:-1)}}var $e=new ee,ii=["Bytes","KB","MB","GB","TB","PB"],oi=[{value:"",name:"Keep all backups"},{value:"time",name:"Delete backups that are older than"},{value:"versions",name:"Keep a specific number of backups"},{value:"smart",name:"Smart backup retention"},{value:"custom",name:"Custom backup retention"}],jt=(t={remoteVolumeSize:50,size:"MB",backupRetention:"",advancedOptions:[]})=>$e.group({remoteVolumeSize:$e.group({size:$e.control(t.remoteVolumeSize),unit:$e.control(t.size)}),backupRetention:$e.control(t.backupRetention),advancedOptions:$e.group({})}),Er=(t,n)=>$e.group({name:$e.control(t),value:$e.control(n)}),At=class t{#e=x(pe);#t=x(ne);#i=x(Se);formRef=Fe.required("formRef");optionsForm=this.#e.optionsForm;selectedOptions=this.#e.selectedOptions;nonSelectedOptions=this.#e.nonSelectedOptions;isSubmitting=this.#e.isSubmitting;sizeOptions=O(ii);rentationOptions=O(oi);oauthStartTokenCreation(n){}getFormFieldValue(n,e,i){return this.optionsForm.controls.advancedOptions.controls[i].value}removeFormView(n,e){this.#e.removeOptionFromFormGroup(n)}addNewOption(n){this.#e.addOptionToFormGroup(n)}retentionOptionDisplayFn(){let n=this.rentationOptions();return e=>{let i=n.find(o=>o.value===e);return i?i.name:""}}displayFn(){let n=this.#e.advancedOptions();return e=>{let i=n.find(o=>o.name===e);return i?`${i.name}`:""}}goBack(){this.#t.navigate(["schedule"],{relativeTo:this.#i.parent})}submit(){this.#e.submit()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=J({type:t,selectors:[["app-options"]],viewQuery:function(e,i){e&1&&ge(i.formRef,fn,5),e&2&&Ce()},decls:43,vars:5,consts:()=>{let n;n=$localize`Select an option...`;let e;e=$localize`Options`;let i;i=$localize`Remote volume size`;let o;o=$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#16\uFFFD"}:START_LINK:Read more${"\uFFFD/#16\uFFFD"}:CLOSE_LINK:`;let l;l=$localize`Backup retention`;let u;u=$localize` Advanced options ${"\uFFFD#26\uFFFD"}:START_TAG_SPK_MENU:${"\uFFFD#27\uFFFD"}:START_TAG_BUTTON: Add advanced option ${"\uFFFD#28\uFFFD"}:START_TAG_SPK_ICON:plus${"\uFFFD/#28\uFFFD"}:CLOSE_TAG_SPK_ICON:${"[\uFFFD/#27\uFFFD|\uFFFD/#1:1\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD#29\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD*31:1\uFFFD"}:START_BLOCK_FOR:${"\uFFFD#1:1\uFFFD"}:START_TAG_BUTTON_1:${"\uFFFD0:1\uFFFD"}:INTERPOLATION:${"[\uFFFD/#27\uFFFD|\uFFFD/#1:1\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD/*31:1\uFFFD"}:CLOSE_BLOCK_FOR:${"\uFFFD/#29\uFFFD"}:CLOSE_TAG_NG_CONTAINER:${"\uFFFD/#26\uFFFD"}:CLOSE_TAG_SPK_MENU:`,u=ke(u);let A;A=$localize`${"\uFFFD#39\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#39\uFFFD"}:CLOSE_TAG_SPK_ICON: Go back `;let $;return $=$localize`${"\uFFFD#42\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#42\uFFFD"}:CLOSE_TAG_SPK_ICON: Submit `,[["formRef",""],["fieldTemplate",""],["option",""],e,i,o,l,u,A,$,[3,"submit","formGroup"],[1,"title-30"],[1,"remote-volume-wrap"],["formGroupName","remoteVolumeSize",1,"row-inputs"],["for","size"],["type","number","id","size","formControlName","size"],["type","text","placeholder",n,"formControlName","unit"],[3,"value"],["href","#",1,"spk-primary"],[3,"displayFn"],["type","text","formControlName","backupRetention"],[3,"disallowToggle"],["title",""],["spk-button","","type","button",1,"outlined","small"],["menu",""],["type","button"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"],["type","button",3,"click"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"field-row"],[3,"formGroupName"],[3,"startingPath","accepts","showFiles","showHiddenNodes","selectFiles"],[3,"startingPath"],[1,"form-column",3,"formGroupName"],[1,"primary","raised"],[1,"primary",3,"selectMultiple"],["spk-button","","type","button",1,"outlined",3,"click"],[3,"for"],[1,"primary",3,"message"],["type","text",3,"id","formControlName"],["prefix",""],["autocomplete","off",3,"type","id","formControlName"],["prefix","",1,"link"],["suffix","",1,"clickable"],["prefix","",1,"link",3,"click"],["suffix","",1,"clickable",3,"click"],["type","search",3,"id","formControlName"],[1,"form-row"],["type","number","formControlName","size",3,"id"],["type","search","formControlName","unit"],["type","number",3,"id","formControlName"],["type","checkbox",3,"id","formControlName"],["type","text","id","text",3,"formControlName"],["deselect","",3,"value"],[1,"raised","primary"]]},template:function(e,i){if(e&1){let o=P();a(0,"form",10,0),C("submit",function(){return f(o),S(i.submit())}),a(2,"h3",11),k(3,3),r(),a(4,"div",12)(5,"div",13)(6,"spk-form-field")(7,"label",14),k(8,4),r(),m(9,"input",15),r(),a(10,"spk-select"),m(11,"input",16),M(12,En,2,2,"spk-option",17,I),r()(),a(14,"p"),T(15,5),m(16,"a",18),E(),r()(),a(17,"spk-select",19)(18,"label",14),k(19,6),r(),m(20,"input",20),M(21,Dn,2,2,"spk-option",17,I),r(),a(23,"app-toggle-card",21),U(24,22),T(25,7),a(26,"spk-menu")(27,"button",23),m(28,"spk-icon"),r(),U(29,24),M(30,hn,3,1,"button",25,I),B(),r(),E(),B(),M(32,An,1,7,"ng-container",null,I),r(),F(34,ni,15,2,"ng-template",null,1,ot),a(36,"div",26)(37,"button",27),C("click",function(){return f(o),S(i.goBack())}),T(38,8),m(39,"spk-icon"),E(),r(),a(40,"button",28),T(41,9),m(42,"spk-icon"),E(),r()()()}e&2&&(_("formGroup",i.optionsForm),s(12),w(i.sizeOptions()),s(5),_("displayFn",i.retentionOptionDisplayFn()),s(4),w(i.rentationOptions()),s(2),_("disallowToggle",!0),s(7),w(i.nonSelectedOptions()),s(2),w(i.selectedOptions()),s(8),Pe("loader",i.isSubmitting()))},dependencies:[Ne,Ee,ie,Re,we,oe,Te,De,he,ve,at,ut,le,Ge,re,ae,be,mt,se,He,We,Ve],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:32.5rem;padding:2.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-column[_ngcontent-%COMP%]{display:flex;flex-direction:column}.form-column[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.form-column[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{font-size:1rem}.field-row[_ngcontent-%COMP%]{display:grid;align-items:flex-end;grid-template-columns:1fr 2.5rem;gap:.5rem}.form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:3fr 1fr;gap:.5rem;align-items:flex-end}.form-wrap[_ngcontent-%COMP%]{display:grid;grid-template-columns:2fr 2.5rem;gap:.5rem;align-items:flex-end}.remote-volume-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.row-inputs[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.row-inputs[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1 0}.advanced-option[_ngcontent-%COMP%]{display:grid;gap:.5rem;grid-template-columns:1fr 1fr 40px;align-items:flex-end}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};var ri=["formRef"];function ai(t,n){if(t&1&&(a(0,"spk-option",38),c(1),r()),t&2){let e=n.$implicit;_("value",e.key),s(),b(e.label)}}function si(t,n){if(t&1){let e=P();a(0,"div",26)(1,"spk-form-field")(2,"label",27),k(3,8),r(),a(4,"input",28,1),C("focus",function(){f(e);let o=fe(5);return S(o.showPicker())}),r(),a(6,"spk-icon",29),c(7,"clock"),r()(),a(8,"spk-form-field"),m(9,"label",30),a(10,"input",31,2),C("focus",function(){f(e);let o=fe(11);return S(o.showPicker())}),r(),a(12,"spk-icon",29),c(13,"calendar"),r()()(),U(14,32),a(15,"div",33)(16,"spk-form-field")(17,"label",34),k(18,9),r(),m(19,"input",35),r(),a(20,"spk-select",36),m(21,"input",37),M(22,ai,2,2,"spk-option",38,I),r()(),a(24,"app-toggle-card",39),U(25,40),k(26,10),B(),a(27,"div",41)(28,"spk-toggle",21),T(29,11),m(30,"input",42),E(),r(),a(31,"spk-toggle",21),T(32,12),m(33,"input",43),E(),r(),a(34,"spk-toggle",21),T(35,13),m(36,"input",44),E(),r(),a(37,"spk-toggle",21),T(38,14),m(39,"input",45),E(),r(),a(40,"spk-toggle",21),T(41,15),m(42,"input",46),E(),r(),a(43,"spk-toggle",21),T(44,16),m(45,"input",47),E(),r(),a(46,"spk-toggle",21),T(47,17),m(48,"input",48),E(),r()()(),B()}if(t&2){let e=p();s(20),_("displayFn",e.displayFn),s(2),w(e.unitOptions),s(2),_("disallowToggle",!0)}}var j=new ee,qt=[{key:"s",label:$localize`Seconds`},{key:"m",label:$localize`Minutes`},{key:"h",label:$localize`Hours`},{key:"D",label:$localize`Days`},{key:"W",label:$localize`Weeks`},{key:"M",label:$localize`Months`},{key:"Y",label:$localize`Years`}],Qt=(t={autoRun:!1,nextTime:{time:"13:00",date:new Date().toISOString().split("T")[0]},runAgain:{repeatValue:1,repeatUnit:"D",allowedDays:{mon:!1,tue:!1,wed:!1,thu:!1,fri:!1,sat:!1,sun:!1}}})=>j.group({autoRun:j.control(t.autoRun),nextTime:j.group({time:j.control(t.nextTime.time),date:j.control(t.nextTime.date)}),runAgain:j.group({repeatValue:j.control(t.runAgain.repeatValue),repeatUnit:j.control(t.runAgain.repeatUnit),allowedDays:j.group({mon:j.control(t.runAgain.allowedDays.mon),tue:j.control(t.runAgain.allowedDays.tue),wed:j.control(t.runAgain.allowedDays.wed),thu:j.control(t.runAgain.allowedDays.thu),fri:j.control(t.runAgain.allowedDays.fri),sat:j.control(t.runAgain.allowedDays.sat),sun:j.control(t.runAgain.allowedDays.sun)})})}),yt=class t{#e=x(pe);#t=x(ne);#i=x(Se);formRef=Fe.required("formRef");scheduleForm=this.#e.scheduleForm;scheduleFormSignal=this.#e.scheduleFormSignal;unitOptions=qt;displayFn(n){let e=qt.find(i=>i.key===n);return e?`${e.label}`:""}goBack(){this.#t.navigate(["source-data"],{relativeTo:this.#i.parent})}next(){this.#t.navigate(["options"],{relativeTo:this.#i.parent})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=J({type:t,selectors:[["app-schedule"]],viewQuery:function(e,i){e&1&&ge(i.formRef,ri,5),e&2&&Ce()},decls:18,vars:2,consts:()=>{let n;n=$localize`Schedule`;let e;e=$localize` Automatically run backups ${"\uFFFD#7\uFFFD\uFFFD/#7\uFFFD"}:TAG_INPUT:`;let i;i=$localize`If a date was missed, the job will run as soon as possible.`;let o;o=$localize`${"\uFFFD#14\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#14\uFFFD"}:CLOSE_TAG_SPK_ICON: Go back `;let l;l=$localize`${"\uFFFD#17\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#17\uFFFD"}:CLOSE_TAG_SPK_ICON: Continue `;let u;u=$localize`Next time`;let A;A=$localize`Run again every`;let $;$=$localize`Allowed days`;let N;N=$localize` Monday ${"\uFFFD#30\uFFFD\uFFFD/#30\uFFFD"}:TAG_INPUT:`;let q;q=$localize` Tuesday ${"\uFFFD#33\uFFFD\uFFFD/#33\uFFFD"}:TAG_INPUT:`;let Q;Q=$localize` Wednesday ${"\uFFFD#36\uFFFD\uFFFD/#36\uFFFD"}:TAG_INPUT:`;let v;v=$localize` Thursday ${"\uFFFD#39\uFFFD\uFFFD/#39\uFFFD"}:TAG_INPUT:`;let Y;Y=$localize` Friday ${"\uFFFD#42\uFFFD\uFFFD/#42\uFFFD"}:TAG_INPUT:`;let Z;Z=$localize` Saturday ${"\uFFFD#45\uFFFD\uFFFD/#45\uFFFD"}:TAG_INPUT:`;let D;return D=$localize` Sunday ${"\uFFFD#48\uFFFD\uFFFD/#48\uFFFD"}:TAG_INPUT:`,[["formRef",""],["timeRef",""],["dateRef",""],n,e,i,o,l,u,A,$,N,q,Q,v,Y,Z,D,[3,"submit","formGroup"],[1,"title-30"],[1,"toggle-wrap"],[1,"raised","primary"],["type","checkbox","formControlName","autoRun"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"],["formGroupName","nextTime",1,"row-inputs"],["for","time"],["type","time","id","time","formControlName","time",3,"focus"],["suffix",""],["for","date"],["type","date","id","date","formControlName","date",3,"focus"],["formGroupName","runAgain"],[1,"row-inputs"],["for","repeatValue"],["type","number","id","repeatValue","formControlName","repeatValue"],[3,"displayFn"],["type","text","id","repeatUnit","formControlName","repeatUnit"],[3,"value"],["formGroupName","allowedDays",3,"disallowToggle"],["title",""],[1,"days-wrap"],["type","checkbox","formControlName","mon"],["type","checkbox","formControlName","tue"],["type","checkbox","formControlName","wed"],["type","checkbox","formControlName","thu"],["type","checkbox","formControlName","fri"],["type","checkbox","formControlName","sat"],["type","checkbox","formControlName","sun"]]},template:function(e,i){if(e&1){let o=P();a(0,"form",18,0),C("submit",function(){return f(o),S(i.next())}),a(2,"h3",19),k(3,3),r(),a(4,"div",20)(5,"spk-toggle",21),T(6,4),m(7,"input",22),E(),r(),a(8,"p"),k(9,5),r()(),F(10,si,49,2),a(11,"div",23)(12,"button",24),C("click",function(){return f(o),S(i.goBack())}),T(13,6),m(14,"spk-icon"),E(),r(),a(15,"button",25),T(16,7),m(17,"spk-icon"),E(),r()()()}if(e&2){let o;_("formGroup",i.scheduleForm),s(10),g((o=i.scheduleFormSignal())!=null&&o.autoRun?10:-1)}},dependencies:[Ne,Ee,ie,Re,we,oe,Te,De,he,ve,ae,le,se,be,re,Ge,Ve],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:32.5rem;padding:2.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.toggle-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.row-inputs[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.row-inputs[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1 0}.days-wrap[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};function li(t,n){if(t&1&&(a(0,"spk-option",2),c(1),r()),t&2){let e=n.$implicit;_("value",e.value),s(),b(e.key)}}function pi(t,n){if(t&1&&(a(0,"spk-option",2),c(1),r()),t&2){let e=n.$implicit;_("value",e.value),s(),b(e.key)}}function ci(t,n){if(t&1){let e=P();a(0,"spk-select",0)(1,"input",5),C("ngModelChange",function(o){f(e);let l=p(2);return S(l.updateStateExpression(o))}),r(),M(2,pi,2,2,"spk-option",2,I),r()}if(t&2){let e,i=p(2);_("hideClearButton",!0)("displayFn",i.displayFn),s(),_("ngModel",(e=i.pathState())==null?null:e.expression),s(),w(i.fileGroupOptions())}}function _i(t,n){if(t&1){let e=P();a(0,"spk-form-field")(1,"input",5),C("ngModelChange",function(o){f(e);let l=p(2);return S(l.updateStateExpression(o))}),r()()}if(t&2){let e,i=p(2);s(),_("ngModel",(e=i.pathState())==null?null:e.expression)}}function mi(t,n){if(t&1){let e=P();a(0,"spk-select",0)(1,"input",1),C("ngModelChange",function(o){f(e);let l=p();return S(l.updateStateType(o))}),r(),M(2,li,2,2,"spk-option",2,I),r(),F(4,ci,4,3,"spk-select",0)(5,_i,2,1,"spk-form-field"),a(6,"div",3),C("click",function(){f(e);let o=p();return S(o.removeFilter())}),a(7,"spk-icon",4),c(8,"x-circle"),r()()}if(t&2){let e,i,o=p();_("hideClearButton",!0)("displayFn",o.displayFn),s(),_("ngModel",(e=o.pathState())==null?null:e.type),s(),w(o.expressionOptions()),s(2),g(((i=o.pathState())==null?null:i.type)==="-FileGroup"||((i=o.pathState())==null?null:i.type)==="+FileGroup"?4:5)}}var Yt=[{key:"Excludes folders where name contains",value:"-FolderNameIncludes"},{key:"Excludes folder",value:"-Folder"},{key:"Excludes files where name contains",value:"-FileNameIncludes"},{key:"Excludes file extension",value:"-Extension"},{key:"Excludes files where name matches regex",value:"-Regex"},{key:"Includes files where name matches regex",value:"+Regex"},{key:"Excludes file group",value:"-FileGroup"},{key:"Includes expression",value:"+Expression"},{key:"Excludes expression",value:"-Expression"}],ui=[{key:"Applications",value:"Applications"},{key:"CacheFiles",value:"Cache Files"},{key:"TemporaryFiles",value:"Temporary Files"},{key:"OperatingSystem",value:"Operating System"},{key:"SystemFiles",value:"System Files"},{key:"DefaultExcludes",value:"Standard Excludes"}],Ct=class t{path=it.required();pathChange=Ze();remove=Ze();expressionOptions=O(Yt);fileGroupOptions=O(ui);pathState=O(null);typeState=V(()=>{let n=this.pathState();return n?n.type:null});pathEffect=rt(()=>{let n=this.path(),e=n.slice(1),i=n.startsWith("-")?"-":"+";return e.startsWith("/")&&e.endsWith("/")?this.pathState.set({type:`${i}Folder`,path:e,expression:e}):e.startsWith("*")&&e.endsWith("*/")?this.pathState.set({type:`${i}FolderNameIncludes`,path:e,expression:e.slice(1,-2)}):e.startsWith("[.*")&&e.endsWith("[^\\/]*]")?this.pathState.set({type:`${i}FileNameIncludes`,path:e,expression:e.slice(3,-7)}):e.startsWith("{")&&e.endsWith("}")?this.pathState.set({type:`${i}FileGroup`,path:e,expression:e.slice(1,-1)}):e.startsWith("[")&&e.endsWith("]")?this.pathState.set({type:`${i}Regex`,path:e,expression:e.slice(1,-1)}):e.startsWith("*.")?this.pathState.set({type:`${i}Extension`,path:e,expression:e.slice(2)}):this.pathState.set({type:`${i}Expression`,path:e,expression:e})});updateStateType(n){this.pathState.update(e=>(e.type=n,e.path=this.#t(e),e)),this.#e()}updateStateExpression(n){this.pathState.update(e=>(e.expression=n,e.path=this.#t(e),e)),this.#e()}#e(){setTimeout(()=>this.pathChange.emit(this.pathState().path))}#t(n){let e=n.type.slice(0,1),i=n.type.slice(1);if(i==="Folder"){let o=n.expression.endsWith("/"),l=n.expression.startsWith("/");return o&&l?`${e}${n.expression}`:o?`${e}${n.expression}/`:l?`${e}/${n.expression}`:`${e}/${n.expression}/`}return i==="FolderNameIncludes"?`${e}*${n.expression}*/`:i==="FileNameIncludes"?`${e}[.*${n.expression}[^\\/]*]`:i==="FileGroup"?`${e}{${n.expression}}`:i==="Regex"?`${e}[${n.expression}]`:i==="Extension"?`${e}*.${n.expression}`:`${e}${n.expression}`}removeFilter(){this.remove.emit()}displayFn(n){let e=Yt.find(i=>i.value===n);return e?e.key:""}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=J({type:t,selectors:[["app-filter"]],inputs:{path:[1,"path"]},outputs:{pathChange:"pathChange",remove:"remove"},decls:1,vars:1,consts:()=>{let n;return n=$localize`Select an option...`,[[3,"hideClearButton","displayFn"],["type","text","placeholder",n,3,"ngModelChange","ngModel"],[3,"value"],[1,"filter-removal",3,"click"],[1,"spk-primary"],["type","text",3,"ngModelChange","ngModel"]]},template:function(e,i){e&1&&F(0,mi,9,4),e&2&&g(i.pathState()?0:-1)},dependencies:[ct,ie,oe,bt,le,se,re,ae],styles:["[_nghost-%COMP%]{display:grid;grid-template-columns:13.125rem 1fr 1.875rem;gap:.5rem;align-items:flex-end}[_nghost-%COMP%] spk-select[_ngcontent-%COMP%]{--miw: initial}[_nghost-%COMP%] .filter-removal[_ngcontent-%COMP%]{cursor:pointer;display:flex;align-items:center;justify-content:center;height:2.5rem;flex:0 0}"],changeDetection:0})};var di=["formRef"];function Fi(t,n){if(t&1){let e=P();a(0,"app-filter",42),C("pathChange",function(o){let l=f(e).$index,u=p(2);return S(u.patchPathAt(o,l))})("remove",function(){let o=f(e).$index,l=p(2);return S(l.removePathAt(o))}),r()}if(t&2){let e=n.$implicit;_("path",e)}}function gi(t,n){if(t&1&&M(0,Fi,1,1,"app-filter",41,I),t&2){let e=p();w(e.pathArray())}}function Ci(t,n){if(t&1&&(a(0,"spk-option",45),c(1),r()),t&2){let e=n.$implicit;_("value",e),s(),b(e)}}function fi(t,n){if(t&1&&(a(0,"div",40)(1,"spk-form-field"),m(2,"input",43),r(),a(3,"spk-select"),m(4,"input",44),M(5,Ci,2,2,"spk-option",45,I),r()()),t&2){let e=p();s(5),w(e.sizeOptions())}}var Ie=new ee,Si=["Bytes","KB","MB","GB","TB","PB"],Zt=(t={path:"",filters:[],excludes:{hidden:!1,system:!1,temporary:!1,filesLargerThan:null}})=>Ie.group({path:Ie.control(t.path),excludes:Ie.group({hidden:Ie.control(t.excludes.hidden),system:Ie.control(t.excludes.system),temporary:Ie.control(t.excludes.temporary),filesLargerThan:Ie.group({size:Ie.control(null),unit:Ie.control(null)})})}),Ot=class t{#e=x(pe);#t=x(ne);#i=x(Se);formRef=Fe.required("formRef");sourceDataForm=this.#e.sourceDataForm;sourceDataFormSignal=this.#e.sourceDataFormSignal;newPathCtrl=new lt("");filesLargerThan=V(()=>this.sourceDataFormSignal()?.excludes?.filesLargerThan?.size!==null);sizeOptions=O(Si);pathSignal=W(this.sourceDataForm.controls.path.valueChanges);pathArray=V(()=>this.pathSignal()?.split("\0").filter(n=>n.startsWith("-")||n.startsWith("+"))??[]);addFilter(n="-*"){let e=this.sourceDataForm.controls.path.value;this.sourceDataForm.controls.path.setValue(`${e}\0${n}`)}patchPathAt(n,e){let o=this.sourceDataForm.controls.path.value.split("\0").filter(u=>!u.startsWith("-")&&!u.startsWith("+")).join("\0"),l=this.pathArray().map((u,A)=>A===e?`${n}`:`${u}`).join("\0");this.sourceDataForm.controls.path.setValue(`${o}\0${l}`)}removePathAt(n){let i=this.sourceDataForm.controls.path.value.split("\0").filter(l=>!l.startsWith("-")&&!l.startsWith("+")).join("\0"),o=this.pathArray().filter((l,u)=>u!==n).join("\0");this.sourceDataForm.controls.path.setValue(`${i}\0${o}`)}getPath(){return this.sourceDataForm.value.path??null}toggleFilesLargerThan(){this.sourceDataForm.controls.excludes.value.filesLargerThan?.size===null?this.sourceDataForm.controls.excludes.controls.filesLargerThan.setValue({size:50,unit:"MB"}):this.sourceDataForm.controls.excludes.controls.filesLargerThan.setValue({size:null,unit:null})}addNewPath(){let n=this.sourceDataForm.controls.path.value;this.sourceDataForm.controls.path.setValue(`${n}\0${this.newPathCtrl.value}`),this.newPathCtrl.setValue("")}goBack(){this.#t.navigate(["destination"],{relativeTo:this.#i.parent})}next(){this.#t.navigate(["schedule"],{relativeTo:this.#i.parent})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=J({type:t,selectors:[["app-source-data"]],viewQuery:function(e,i){e&1&&ge(i.formRef,di,5),e&2&&Ce()},decls:55,vars:12,consts:()=>{let n;n=$localize`Path`;let e;e=$localize`Add a direct path`;let i;i=$localize`Hidden files`;let o;o=$localize`System files`;let l;l=$localize`Temporary files`;let u;u=$localize`Source Data`;let A;A=$localize`Folder path`;let $;$=$localize`${"\uFFFD#12\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SPK_ICON: Go back `;let N;N=$localize`${"\uFFFD#15\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#15\uFFFD"}:CLOSE_TAG_SPK_ICON: Continue `;let q;q=$localize`Source Data`;let Q;Q=$localize`Add Path`;let v;v=$localize`Add a path directly from your machine.`;let Y;Y=$localize`Filters`;let Z;Z=$localize`Customize your filters.`;let D;D=$localize`Add filter`;let d;d=$localize`Exclude`;let h;h=$localize`Choose if there’s any files you want to exclude.`;let H;H=$localize` Hidden files ${"\uFFFD#45\uFFFD\uFFFD/#45\uFFFD"}:TAG_INPUT:`;let y;y=$localize` System files ${"\uFFFD#48\uFFFD\uFFFD/#48\uFFFD"}:TAG_INPUT:`;let ue;ue=$localize` Temporary files ${"\uFFFD#51\uFFFD\uFFFD/#51\uFFFD"}:TAG_INPUT:`;let Oe;Oe=$localize` Files larger than `;let Le;return Le=$localize`Select an option...`,[["formRef",""],u,A,$,N,q,Q,v,Y,Z,D,d,h,H,y,ue,Oe,[3,"submit","formGroup"],[1,"left"],[1,"title-30"],[1,"fill",3,"multiSelect","startingPath","showFiles"],["for","path"],["type","text","id","path","tabindex","4","placeholder",n,"formControlName","path"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"],[1,"right"],[3,"disallowToggle"],["title",""],["description",""],[1,"row-inputs"],["type","text","placeholder",e,3,"formControl"],["spk-button","","type","button",1,"raised","primary",3,"click"],["type","button","spk-button","","action","",3,"click"],["formGroupName","excludes",3,"disallowToggle"],[1,"raised","primary"],["type","checkbox","placeholder",i,"formControlName","hidden"],["type","checkbox","placeholder",o,"formControlName","system"],["type","checkbox","placeholder",l,"formControlName","temporary"],[1,"raised","primary",3,"click"],["formGroupName","filesLargerThan",1,"row-inputs"],[3,"path"],[3,"pathChange","remove","path"],["type","number","formControlName","size"],["type","text","formControlName","unit","placeholder",Le],[3,"value"]]},template:function(e,i){if(e&1){let o=P();a(0,"form",17,0),C("submit",function(){return f(o),S(i.next())}),a(2,"div",18)(3,"h3",19),k(4,1),r(),a(5,"app-file-tree",20)(6,"label",21),k(7,2),r(),m(8,"input",22),r(),a(9,"div",23)(10,"button",24),C("click",function(){return f(o),S(i.goBack())}),T(11,3),m(12,"spk-icon"),E(),r(),a(13,"button",25),T(14,4),m(15,"spk-icon"),E(),r()()(),a(16,"div",26)(17,"h3",19),k(18,5),r(),a(19,"app-toggle-card",27),U(20,28),k(21,6),B(),a(22,"p",29),k(23,7),r(),a(24,"div",30)(25,"spk-form-field"),m(26,"input",31),r(),a(27,"button",32),C("click",function(){return f(o),S(i.addNewPath())}),a(28,"spk-icon"),c(29,"plus"),r()()()(),a(30,"app-toggle-card",27),U(31,28),k(32,8),B(),a(33,"p",29),k(34,9),r(),a(35,"button",33),C("click",function(){return f(o),S(i.addFilter())}),k(36,10),r(),F(37,gi,2,0),r(),a(38,"app-toggle-card",34),U(39,28),k(40,11),B(),a(41,"p",29),k(42,12),r(),a(43,"spk-toggle",35),T(44,13),m(45,"input",36),E(),r(),a(46,"spk-toggle",35),T(47,14),m(48,"input",37),E(),r(),a(49,"spk-toggle",35),T(50,15),m(51,"input",38),E(),r(),a(52,"spk-toggle",39),C("click",function(){return f(o),S(i.toggleFilesLargerThan())}),k(53,16),r(),F(54,fi,7,0,"div",40),r()()()}if(e&2){let o;_("formGroup",i.sourceDataForm),s(5),_("multiSelect",!0)("startingPath",i.getPath())("showFiles",!0),s(14),_("disallowToggle",!0),s(7),_("formControl",i.newPathCtrl),s(4),_("disallowToggle",!0),s(7),g((o=i.pathSignal())!=null&&o.length?37:-1),s(),_("disallowToggle",!0),s(14),Pe("active",i.filesLargerThan()),s(2),g(i.filesLargerThan()?54:-1)}},dependencies:[ct,Ee,ie,Re,we,oe,Te,Ne,pt,De,he,ve,ae,se,re,Ge,le,be,We,Ve,Ct],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;width:100%;flex:1 0;overflow:hidden}form[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;flex:1 0;overflow:hidden}.right[_ngcontent-%COMP%], .left[_ngcontent-%COMP%]{flex:1 0;display:flex;flex-direction:column;gap:1.5rem}.left[_ngcontent-%COMP%]{padding:2.5rem;overflow:hidden;border-right:1px solid var(--base-level-40)}.right[_ngcontent-%COMP%]{padding:2.5rem 1.5rem;overflow:auto}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.row-inputs[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr min-content;gap:.5rem}"],changeDetection:0})};var me=new ee,pe=class t{#e=x(ne);#t=x(st);#i=x(Xe);#o=x(dt);generalForm=Wt();sourceDataForm=Zt();scheduleForm=Qt();destinationForm=Jt();optionsForm=jt();isDraft=O(!1);backupId=O(null);isSubmitting=O(!1);finishedLoading=O(!1);backupDefaults=O(null);isNew=V(()=>this.backupId()==="new");selectedOptions=O([]);selectedAdvancedFormPair=O([]);destinationFormPair=O({oauthField:null,custom:[],dynamic:[],advanced:[]});notSelectedAdvancedFormPair=V(()=>{let n=this.destinationFormPair()?.advanced??[],e=this.selectedAdvancedFormPair()??[];return n.filter(i=>e.findIndex(o=>o.name===i.name)===-1)});selectedHttpOptions=O([]);notSelectedHttpOptions=V(()=>{let n=this.httpOptions(),e=this.selectedHttpOptions()??[];return n.filter(i=>e.findIndex(o=>o.name===i.name)===-1)});sourceDataFormSignal=W(this.sourceDataForm.valueChanges);destinationFormSignal=W(this.destinationForm.valueChanges);generalFormSignal=W(this.generalForm.valueChanges);encryptionFieldSignal=W(this.generalForm.controls.encryption.valueChanges);scheduleFormSignal=W(this.scheduleForm.valueChanges);destinationOptions=V(()=>this.#t.backendModules()??[]);httpOptions=V(()=>this.#t.systemInfo()?.GenericModules?.find(n=>n.Key==="http-options")?.Options?.map(this.#n)??[]);advancedOptions=V(()=>this.#t.systemInfo()?.Options?.map(this.#n)??[]);#n(n){return{name:n.Name,type:n.Type,shortDescription:n.ShortDescription??void 0,longDescription:n.LongDescription??void 0,options:n.ValidValues}}encryptionOptions=V(()=>{let n=this.#t.systemInfo()?.EncryptionModules??[];return[Nt,...n]});nonSelectedOptions=V(()=>this.advancedOptions().sort((n,e)=>n?.name&&e?.name?n?.name.localeCompare(e?.name):0).filter(n=>this.selectedOptions()?.findIndex(e=>e.name===n.name)===-1));addAdvancedFormPairByName(n,e,i){let o=this.notSelectedAdvancedFormPair().find(l=>l.name===n);o&&this.addAdvancedFormPair(o,e,i)}addHttpOptionByName(n,e,i){let o=this.notSelectedHttpOptions().find(l=>l.name===n);o&&this.addHttpOption(o,e,i)}addAdvancedFormPair(n,e,i){let o=this.destinationForm.controls.destinations.controls.at(e)?.controls.advanced,l=i??n.defaultValue;this.createFormField(o,n,l),this.selectedAdvancedFormPair.set([...this.selectedAdvancedFormPair(),n])}addHttpOption(n,e,i){let o=this.destinationForm.controls.destinations.controls.at(e)?.controls.advanced,l=i??n.defaultValue;this.createFormField(o,n,l),this.selectedHttpOptions.set([...this.selectedHttpOptions(),n])}removeAdvancedFormPair(n,e){this.destinationForm.controls.destinations.controls.at(e)?.controls.advanced.removeControl(n.name),this.selectedAdvancedFormPair().findIndex(o=>o.name===n.name)!==-1?this.selectedAdvancedFormPair.update(o=>(o=o.filter(l=>l.name!==n.name),o)):this.selectedHttpOptions.update(o=>(o=o.filter(l=>l.name!==n.name),o))}removeHttpOption(n,e){this.destinationForm.controls.destinations.controls.at(e)?.controls.advanced.removeControl(n.name),this.selectedHttpOptions.update(i=>(i=i.filter(o=>o.name!==n.name),i))}submit(){this.isSubmitting.set(!0);let n=this.#l(),e=this.backupId();e==="new"||!e||this.isDraft()?this.#i.postApiV1Backups({requestBody:n}).pipe(Ye(()=>this.isSubmitting.set(!1))).subscribe({next:i=>{console.log("submitted res",i),this.exit()},error:i=>{console.error("submitted error",i)}}):this.#i.putApiV1BackupById({id:e,requestBody:n}).pipe(Ye(()=>this.isSubmitting.set(!1))).subscribe({next:i=>{console.log("submitted res",i),this.exit()},error:i=>{console.error("submitted error",i)}})}exit(){this.#c(),this.#e.navigate(["/"])}updateFieldsFromTargetUrl(n){this.#r(),setTimeout(()=>{this.#s(n)})}#r(){this.destinationFormPair.set({oauthField:null,custom:[],dynamic:[],advanced:[]}),this.selectedAdvancedFormPair.set([]),this.selectedHttpOptions.set([]),this.destinationForm.controls.destinations.clear(),this.destinationForm.reset()}mapSourceDataToForm(n){let e=n.Sources??"",i=n.Filters?.map(N=>`${N.Include?"":"-"}${N.Expression}`)??[],o=n.Settings?.find(N=>N.Name==="--exclude-files-attributes")?.Value??"",l=n.Settings?.find(N=>N.Name==="--skip-files-larger-than")??null,u=l?.Value.replace(/[0-9]/g,"")??null,A=l?.Value.replace(/[^0-9]/g,"")??null,$={path:[...e,...i].join("\0"),excludes:{hiddenFiles:o.includes("hidden"),systemFiles:o.includes("system"),tempFiles:o.includes("temporary"),filesLargerThan:u&&A?{size:parseInt(A),unit:u.toUpperCase()}:null}};this.sourceDataForm.patchValue($)}mapDestinationToForm(n){let e=n.TargetURL?Dt(n.TargetURL):null;e&&this.addDestinationFormGroup(e.destinationType,{custom:e.custom,dynamic:e.dynamic,advanced:e.advanced},!0)}#s(n){let e=Dt(n);e&&this.addDestinationFormGroup(e.destinationType,{custom:e.custom,dynamic:e.dynamic,advanced:e.advanced},!0)}mapGeneralToForm(n){let e=n.Settings?.find(l=>l.Name==="encryption-module"),i=e?.Value&&e.Value.length?e.Value:"",o={name:n.Name??"",description:n.Description??""};i&&i!==""&&(o.encryption=i),this.generalForm.patchValue(o)}mapScheduleToForm(n){if(!n){this.scheduleForm.patchValue({autoRun:!0});return}let e=this.#o.fromString(n.Repeat)??null,o={nextTime:this.#p(n.Time),runAgain:{repeatValue:e?.value??1,repeatUnit:e?.unit??"D",allowedDays:{mon:n.AllowedDays?.includes("mon")??!1,tue:n.AllowedDays?.includes("tue")??!1,wed:n.AllowedDays?.includes("wed")??!1,thu:n.AllowedDays?.includes("thu")??!1,fri:n.AllowedDays?.includes("fri")??!1,sat:n.AllowedDays?.includes("sat")??!1,sun:n.AllowedDays?.includes("sun")??!1}}};this.scheduleForm.patchValue(o)}mapOptionsToForms(n){let e=["--no-encryption","--exclude-files-attributes","--skip-files-larger-than"],i=this.advancedOptions();n.Settings?.forEach(o=>{if(o.Name==="encryption-module")return this.generalForm.controls.encryption.setValue(o.Value??"");if(!(o.Name&&e.includes(o.Name))){if(o.Name==="dblock-size"){let l=o.Value?.replace(/[^0-9]/g,""),u=o.Value?.replace(/[0-9]/g,"");return this.optionsForm.controls.remoteVolumeSize.setValue({size:l?parseInt(l):null,unit:u?u.toUpperCase():null})}if(o.Name&&o.Value){let l=i.find(u=>u.name===o.Name);if(!l)return;this.addOptionToFormGroup(l,o.Value)}}})}getCurrentTargetUrl(){return this.#a(this.destinationForm.controls.destinations)}#l(){let n=this.generalForm.value,e=this.optionsForm.value,i=this.scheduleForm.value,o=this.sourceDataForm.value,u=this.destinationForm.value.destinations?.length?this.#a(this.destinationForm.controls.destinations):[],A=null;i.runAgain?.repeatUnit&&i.runAgain?.repeatValue&&(A=this.#o.toString(i.runAgain.repeatValue,i.runAgain.repeatUnit));let $=i.runAgain?.allowedDays?Object.entries(i.runAgain?.allowedDays).filter(([d,h])=>h).map(([d,h])=>d):[],N=o.path?.split("\0")??[],q=n.encryption===""?{Name:"--no-encryption",Value:"True"}:{Name:"encryption-module",Value:n.encryption??null},Q=this.advancedOptions(),v=Object.entries(e.advancedOptions??{}).filter(([d,h])=>d&&h).map(([d,h])=>{let H=Q.find(y=>y.name===d);return H?.type==="Size"?{Name:d,Value:`${h.size}${h.unit.toLowerCase()}`}:H?.type==="Integer"?{Name:d,Value:h.toString()}:H?.type==="Boolean"?{Name:d,Value:h.toString()}:{Name:d,Value:h}}),Y=[q,...v],Z=Object.entries(o.excludes??{}).filter(([d,h])=>h&&d!=="filesLargerThan").map(([d])=>d),D=o.excludes?.filesLargerThan;return Z.length&&Y.push({Name:"--exclude-files-attributes",Value:Z.join(",")}),D&&D.size!==null&&D.unit!==null&&Y.push({Name:"--skip-files-larger-than",Value:`${D.size}${D.unit}`}),{Backup:{Name:n.name,Description:n.description,TargetURL:u[0]??null,Sources:N.filter(d=>!d.startsWith("-")),Settings:Y,Filters:N.filter(d=>d.startsWith("-")).map((d,h)=>({Order:h,Include:!1,Expression:d.slice(1)}))},Schedule:i.autoRun?{Repeat:A,Time:i.nextTime?.date?new Date(`${i.nextTime.date}T${i.nextTime?.time||"00:00:00"}`).toISOString():null,AllowedDays:$}:null}}#a(n){return n.controls.map(e=>Ft(e.value))}#p(n){if(!n||n?.indexOf("T")===-1)return{time:n??"13:00"};let e=new Date(n),i={time:`${(""+e.getHours()).padStart(2,"0")}:${(""+e.getMinutes()).padStart(2,"0")}`};return n.indexOf("T")!==-1&&(i.date=e.toISOString().split("T")[0]),i}removeOptionFromFormGroup(n){let e=n.name;e&&(this.optionsForm.controls.advancedOptions.removeControl(e),this.selectedOptions.update(i=>(i=i.filter(o=>o.name!==e),i)))}addOptionToFormGroup(n,e){let i=this.optionsForm.controls.advancedOptions;this.createFormField(i,n,e??n.defaultValue),this.selectedOptions.update(o=>(o.push(n),o))}createFormField(n,e,i){if(e.type==="String"||e.type==="FileTree"||e.type==="FolderTree"||e.type==="Password"||e.type==="Enumeration"||e.type==="NonValidatedSelectableString"||e.type==="Path"){n.addControl(e.name,me.control(i));return}if(e.type==="Size"){let o=i.replace(/[0-9]/g,""),l=i.replace(/[^0-9]/g,"");n.addControl(e.name,me.group({size:me.control(l?parseInt(l):50),unit:me.control(o?o.toUpperCase():"MB")}));return}if(e.type==="Integer"){n.addControl(e.name,me.control(i?parseInt(i):0));return}if(e.type==="Boolean"){n.addControl(e.name,me.control(i==="true"));return}if(e.type==="Flags"){n.addControl(e.name,me.control(i??""));return}if(e.type==="Timespan"){n.addControl(e.name,me.control(i,[xe.pattern(/([-+]?\d{1,3}[smhDWMY])+/)]));return}}addDestinationFormGroup(n,e,i=!1){let o=this.destinationOptions().find(D=>D.Key===n),l=this.httpOptions();if(!o||!o.Options)return;let u=ye.hasOwnProperty(n)&&ye[n],A=u&&u.oauthField?u.oauthField:null,$=u&&u.customFields?u.customFields:{},N=u&&u.dynamicFields?u.dynamicFields:[],q=u&&u.advancedFields?u.advancedFields:[],Q=u&&u.ignoredAdvancedFields?u.ignoredAdvancedFields:[];this.destinationFormPair.set({oauthField:A,custom:[],dynamic:[],advanced:[]});let v=me.group({}),Y=me.group({}),Z=me.group({});$&&Object.entries($).forEach(([D,d],h)=>{let ue=d,{formElement:H}=ue,y=kt(ue,["formElement"]);v.addControl(D,H(e?.custom[D])),this.destinationFormPair.update(Oe=>(Oe.custom.push(z({order:900+h},y)),Oe))});for(let D=0;D<o.Options.length;D++){let d=o.Options[D];if(d.Deprecated)continue;let h=N.find(H=>H===d.Name||H.name===d.Name);if(h){let H=h&&typeof h!="string",y={name:d.Name,type:d.Type,shortDescription:d.ShortDescription??void 0,longDescription:d.LongDescription??void 0,options:d.ValidValues,order:900+D},ue=H?z(z({},y),h):y,Le=e?.dynamic[d.Name]??d.DefaultValue;this.createFormField(Y,ue,Le),this.destinationFormPair.update(R=>(R.dynamic.push(ue),R))}else{if(Q.find(de=>de===d.Name))continue;let y=q.find(de=>de===d.Name||de.name===d.Name),ue=y&&typeof y!="string",Oe=e?.advanced[d.Name],Le=Oe??d.DefaultValue,R={name:d.Name,type:d.Type,shortDescription:d.ShortDescription??void 0,longDescription:d.LongDescription??void 0,options:d.ValidValues,defaultValue:Le,order:900+D},Tt=ue?z(z({},R),y):R;i&&Oe&&(this.createFormField(Z,Tt,Le),this.selectedAdvancedFormPair.update(de=>(de.push(Tt),de))),this.destinationFormPair.update(de=>(de.advanced.push(Tt),de))}}for(let D=0;D<l.length;D++){let d=l[D],h=e?.advanced[d.name],H=h??d.defaultValue;i&&h&&(this.createFormField(Z,d,H),this.selectedHttpOptions.update(y=>(y.push(d),y)))}this.destinationFormPair.update(D=>({oauthField:D.oauthField,custom:D.custom.sort((d,h)=>d.order-h.order),dynamic:D.dynamic.sort((d,h)=>d.order-h.order),advanced:D.advanced.sort((d,h)=>d.order-h.order)})),this.destinationForm.controls.destinations.push(en({key:o.Key,customGroup:v,dynamicGroup:Y,advancedGroup:Z}))}#c(){this.generalForm.reset(),this.destinationForm.controls.destinations.clear(),this.destinationForm.reset(),this.sourceDataForm.reset(),this.scheduleForm.reset(),this.optionsForm.reset()}static \u0275fac=function(e){return new(e||t)};static \u0275prov=Me({token:t,factory:t.\u0275fac,providedIn:"root"})};var Ti=["formRef"],Ei=(t,n,e,i)=>({index:t,formView:n,formGroupName:"custom",destinationType:e,oauthField:i}),St=t=>({$implicit:t}),Di=(t,n,e,i)=>({index:t,formView:n,formGroupName:"dynamic",destinationType:e,oauthField:i}),hi=(t,n,e,i)=>({index:t,formView:n,formGroupName:"advanced",destinationType:e,oauthField:i}),Ni=(t,n,e,i)=>({index:t,formView:n,formGroupName:"advanced",asHttpOptions:!0,destinationType:e,oauthField:i}),Ai=()=>({maxWidth:"700px",width:"100%"});function yi(t,n){t&1&&(T(0,2,2),m(1,"spk-icon"),E())}function Oi(t,n){t&1&&k(0,2,3)}function Pi(t,n){if(t&1){let e=P();T(0,2,1),a(1,"button",19),C("click",function(){f(e);let o=p();return S(o.testDestination())}),F(2,yi,2,0)(3,Oi,1,0),r(),E()}if(t&2){let e=p();s(),Pe("success",e.successfulTest()),s(),g(e.successfulTest()?2:3)}}function ki(t,n){if(t&1){let e=P();a(0,"p",25),C("click",function(){f(e);let o=p();return S(o.removeDestinationFormGroup(o.destinationCount()-1))}),T(1,5),m(2,"span",26),E(),r()}}function xi(t,n){t&1&&(a(0,"p"),k(1,6),r())}function $i(t,n){if(t&1){let e=P();a(0,"div",31),C("click",function(){let o=f(e).$implicit,l=p(2);return S(l.addDestinationFormGroup(o.key))}),a(1,"h3"),c(2),r(),a(3,"p"),c(4),r()()}if(t&2){let e=n.$implicit;s(2),b(e.title),s(2),b(e.description)}}function Ii(t,n){if(t&1){let e=P();a(0,"button",32),C("click",function(){let o=f(e).$implicit,l=p(2);return S(l.addDestinationFormGroup(o.key))}),c(1),r()}if(t&2){let e=n.$implicit;s(),G(" ",e.title," ")}}function Mi(t,n){if(t&1&&(a(0,"div",27),M(1,$i,5,2,"div",28,I),r(),a(3,"spk-menu")(4,"button",29),k(5,7),r(),U(6,18),M(7,Ii,2,1,"button",30,I),B(),r()),t&2){let e=p();s(),w(e.destinationTypeOptionsFocused()),s(6),w(e.destinationTypeOptionsNotFocused())}}function wi(t,n){t&1&&Ue(0)}function Ri(t,n){if(t&1&&F(0,wi,1,0,"ng-container",37),t&2){let e,i=n.$implicit,o=n.$index;p();let l=fe(29),u=p();_("ngTemplateOutlet",l)("ngTemplateOutletContext",Be(7,St,tt(2,Ei,o,i,(e=u.destinationFormSignal())==null||e.destinations==null||e.destinations[0]==null?null:e.destinations[0].destinationType,u.destinationFormPair().oauthField)))}}function vi(t,n){t&1&&Ue(0)}function Gi(t,n){if(t&1&&F(0,vi,1,0,"ng-container",37),t&2){let e,i=n.$implicit,o=n.$index;p();let l=fe(29),u=p();_("ngTemplateOutlet",l)("ngTemplateOutletContext",Be(7,St,tt(2,Di,o,i,(e=u.destinationFormSignal())==null||e.destinations==null||e.destinations[0]==null?null:e.destinations[0].destinationType,u.destinationFormPair().oauthField)))}}function bi(t,n){if(t&1){let e=P();T(0,8,1),a(1,"button",32),C("click",function(){let o=f(e).$implicit,l=p(2);return S(l.addAdvancedFormPair(o,0))}),r(),E()}if(t&2){let e=n.$implicit;s(),Je(e.name),et(0)}}function Vi(t,n){t&1&&Ue(0)}function Li(t,n){if(t&1&&F(0,Vi,1,0,"ng-container",37),t&2){let e,i=n.$implicit,o=n.$index;p();let l=fe(29),u=p();_("ngTemplateOutlet",l)("ngTemplateOutletContext",Be(7,St,tt(2,hi,o,i,(e=u.destinationFormSignal())==null||e.destinations==null||e.destinations[0]==null?null:e.destinations[0].destinationType,u.destinationFormPair().oauthField)))}}function Ui(t,n){if(t&1){let e=P();T(0,9,1),a(1,"button",32),C("click",function(){let o=f(e).$implicit,l=p(2);return S(l.addHttpOption(o,0))}),r(),E()}if(t&2){let e=n.$implicit;s(),Je(e.name),et(0)}}function Bi(t,n){t&1&&Ue(0)}function Ki(t,n){if(t&1&&F(0,Bi,1,0,"ng-container",37),t&2){let e,i=n.$implicit,o=n.$index;p();let l=fe(29),u=p();_("ngTemplateOutlet",l)("ngTemplateOutletContext",Be(7,St,tt(2,Ni,o,i,(e=u.destinationFormSignal())==null||e.destinations==null||e.destinations[0]==null?null:e.destinations[0].destinationType,u.destinationFormPair().oauthField)))}}function zi(t,n){if(t&1&&(a(0,"spk-tooltip",47)(1,"spk-icon"),c(2,"question"),r()()),t&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function Xi(t,n){if(t&1&&(a(0,"app-file-tree",40)(1,"label",46),c(2),F(3,zi,3,1,"spk-tooltip",47),r(),m(4,"input",48),r()),t&2){let e,i=p().$implicit,o=p(2);_("startingPath",o.getFormFieldValue(0,i.formGroupName,i.formView.name))("accepts",i.formView.accepts)("showFiles",!0)("showHiddenNodes",!0)("selectFiles",!0),s(),L("for","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),s(),G(" ",(e=i.formView.shortDescription)!==null&&e!==void 0?e:i.formView.name," "),s(),g(i.formView.longDescription?3:-1),s(),L("id","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),K("formControlName",i.formView.name)}}function Hi(t,n){if(t&1&&(a(0,"spk-tooltip",47)(1,"spk-icon"),c(2,"question"),r()()),t&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function Wi(t,n){if(t&1&&(a(0,"app-file-tree",41)(1,"label",46),c(2),F(3,Hi,3,1,"spk-tooltip",47),r(),m(4,"input",48),r()),t&2){let e,i=p().$implicit,o=p(2);_("startingPath",o.getFormFieldValue(0,i.formGroupName,i.formView.name)),s(),L("for","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),s(),G(" ",(e=i.formView.shortDescription)!==null&&e!==void 0?e:i.formView.name," "),s(),g(i.formView.longDescription?3:-1),s(),L("id","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),K("formControlName",i.formView.name)}}function ji(t,n){if(t&1&&(a(0,"spk-tooltip",47)(1,"spk-icon"),c(2,"question"),r()()),t&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function qi(t,n){t&1&&(a(0,"spk-icon",49),c(1,"link"),r())}function Qi(t,n){t&1&&(a(0,"spk-icon",49),c(1,"textbox"),r())}function Yi(t,n){if(t&1&&(a(0,"spk-form-field")(1,"label",46),c(2),F(3,ji,3,1,"spk-tooltip",47),r(),m(4,"input",48),F(5,qi,2,0,"spk-icon",49)(6,Qi,2,0,"spk-icon",49),r()),t&2){let e,i=p().$implicit;s(),L("for","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),s(),G(" ",(e=i.formView.shortDescription)!==null&&e!==void 0?e:i.formView.name," "),s(),g(i.formView.longDescription?3:-1),s(),L("id","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),K("formControlName",i.formView.name),s(),g(i.formView.type==="Path"?5:6)}}function Zi(t,n){if(t&1){let e=P();a(0,"span",53),C("click",function(){f(e);let o=p(2).$implicit,l=p(2);return S(l.oauthStartTokenCreation(o.destinationType))}),c(1,"AuthID"),r()}}function Ji(t,n){t&1&&(a(0,"spk-icon",49),c(1,"password"),r())}function eo(t,n){if(t&1){let e=P();a(0,"spk-icon",54),C("click",function(){f(e);let o=p(2).$implicit;return S(o.formView.showPassword=!o.formView.showPassword)}),c(1," eye "),r()}}function to(t,n){if(t&1){let e=P();a(0,"spk-icon",54),C("click",function(){f(e);let o=p(2).$implicit;return S(o.formView.showPassword=!o.formView.showPassword)}),c(1," eye-slash "),r()}}function no(t,n){if(t&1&&(a(0,"spk-form-field")(1,"label",46),c(2),r(),m(3,"input",50),F(4,Zi,2,0,"span",51)(5,Ji,2,0,"spk-icon",49)(6,eo,2,0,"spk-icon",52)(7,to,2,0,"spk-icon",52),r()),t&2){let e,i=p().$implicit;s(),L("for","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),s(),G(" ",(e=i.formView.shortDescription)!==null&&e!==void 0?e:i.formView.name," "),s(),L("id","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),K("formControlName",i.formView.name),_("type",i.formView.showPassword?"text":"password"),s(),g(i.oauthField===i.formView.name?4:5),s(2),g(i.formView.showPassword?6:7)}}function io(t,n){if(t&1&&(a(0,"spk-tooltip",47)(1,"spk-icon"),c(2,"question"),r()()),t&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function oo(t,n){if(t&1&&(a(0,"spk-option",56),c(1),r()),t&2){let e=n.$implicit;_("value",e),s(),b(e)}}function ro(t,n){if(t&1&&(a(0,"spk-select")(1,"label",46),c(2),F(3,io,3,1,"spk-tooltip",47),r(),m(4,"input",55),M(5,oo,2,2,"spk-option",56,I),r()),t&2){let e,i=p().$implicit;s(),L("for","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),s(),G(" ",(e=i.formView.shortDescription)!==null&&e!==void 0?e:i.formView.name," "),s(),g(i.formView.longDescription?3:-1),s(),L("id","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),K("formControlName",i.formView.name),s(),w(i.formView.options)}}function ao(t,n){if(t&1&&(a(0,"spk-tooltip",47)(1,"spk-icon"),c(2,"question"),r()()),t&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function so(t,n){if(t&1&&(a(0,"spk-option",56),c(1),r()),t&2){let e=n.$implicit;_("value",e.value),s(),$t(" ",e.key," ",e.value?"("+e.value+")":""," ")}}function lo(t,n){if(t&1&&(a(0,"spk-select",42)(1,"label",46),c(2),F(3,ao,3,1,"spk-tooltip",47),r(),m(4,"input",55),U(5,57),M(6,so,2,3,"spk-option",56,I),B(),r()),t&2){let e,i=p().$implicit,o=p(2);_("isFreeText",!0),s(),L("for","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),s(),G(" ",(e=i.formView.shortDescription)!==null&&e!==void 0?e:i.formView.name," "),s(),g(i.formView.longDescription?3:-1),s(),L("id","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),K("formControlName",i.formView.name),s(2),w(i.formView.loadOptions(o.injector)())}}function po(t,n){if(t&1&&(a(0,"spk-tooltip",47)(1,"spk-icon"),c(2,"question"),r()()),t&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function co(t,n){if(t&1&&(a(0,"spk-option",56),c(1),r()),t&2){let e=n.$implicit;_("value",e),s(),b(e)}}function _o(t,n){if(t&1&&(a(0,"div",43)(1,"label",46),c(2),F(3,po,3,1,"spk-tooltip",47),r(),a(4,"div",58)(5,"spk-form-field"),m(6,"input",59),a(7,"spk-icon",49),c(8,"resize"),r()(),a(9,"spk-select"),m(10,"label")(11,"input",60),M(12,co,2,2,"spk-option",56,I),r()()()),t&2){let e,i=p().$implicit,o=p(2);_("formGroupName",i.formView.name),s(),L("for","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),s(),G(" ",(e=i.formView.shortDescription)!==null&&e!==void 0?e:i.formView.name," "),s(),g(i.formView.longDescription?3:-1),s(3),L("id","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),s(6),w(o.sizeOptions())}}function mo(t,n){if(t&1&&(a(0,"spk-tooltip",47)(1,"spk-icon"),c(2,"question"),r()()),t&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function uo(t,n){if(t&1&&(a(0,"spk-form-field")(1,"label",46),c(2),F(3,mo,3,1,"spk-tooltip",47),r(),m(4,"input",61),a(5,"spk-icon",49),c(6,"numpad"),r()()),t&2){let e,i=p().$implicit;s(),L("for","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),s(),G(" ",(e=i.formView.shortDescription)!==null&&e!==void 0?e:i.formView.name," "),s(),g(i.formView.longDescription?3:-1),s(),L("id","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),K("formControlName",i.formView.name)}}function Fo(t,n){if(t&1&&(a(0,"spk-tooltip",47)(1,"spk-icon"),c(2,"question"),r()()),t&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function go(t,n){if(t&1&&(a(0,"spk-toggle",44)(1,"label",46),c(2),F(3,Fo,3,1,"spk-tooltip",47),r(),m(4,"input",62),r()),t&2){let e,i=p().$implicit;s(),L("for","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),s(),G(" ",(e=i.formView.shortDescription)!==null&&e!==void 0?e:i.formView.name," "),s(),g(i.formView.longDescription?3:-1),s(),L("id","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),K("formControlName",i.formView.name)}}function Co(t,n){if(t&1&&(a(0,"spk-tooltip",47)(1,"spk-icon"),c(2,"question"),r()()),t&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function fo(t,n){t&1&&(a(0,"spk-option",64),c(1,"None"),r()),t&2&&_("value","None")}function So(t,n){if(t&1&&(a(0,"spk-option",56),c(1),m(2,"spk-checkbox",65),r()),t&2){let e=p().$implicit;_("value",e),s(),G(" ",e," ")}}function To(t,n){if(t&1&&F(0,fo,2,1,"spk-option",64)(1,So,3,2,"spk-option",56),t&2){let e=n.$implicit;g(e==="None"?0:1)}}function Eo(t,n){if(t&1&&(a(0,"spk-select",45)(1,"label",46),c(2),F(3,Co,3,1,"spk-tooltip",47),r(),m(4,"input",63),M(5,To,2,1,null,null,I),r()),t&2){let e,i=p().$implicit;_("selectMultiple",!0),s(),L("for","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),s(),G(" ",(e=i.formView.shortDescription)!==null&&e!==void 0?e:i.formView.name," "),s(),g(i.formView.longDescription?3:-1),s(),K("formControlName",i.formView.name),s(),w(i.formView.options)}}function Do(t,n){if(t&1&&(a(0,"spk-tooltip",47)(1,"spk-icon"),c(2,"question"),r()()),t&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function ho(t,n){if(t&1&&(a(0,"spk-form-field")(1,"label",46),c(2),F(3,Do,3,1,"spk-tooltip",47),r(),m(4,"input",48),r()),t&2){let e,i=p().$implicit;s(),L("for","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),s(),G(" ",(e=i.formView.shortDescription)!==null&&e!==void 0?e:i.formView.name," "),s(),g(i.formView.longDescription?3:-1),s(),L("id","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),K("formControlName",i.formView.name)}}function No(t,n){if(t&1){let e=P();a(0,"button",66),C("click",function(){f(e);let o=p().$implicit,l=p(2);return S(l.removeFormView(o.formView,0))}),a(1,"spk-icon"),c(2,"x-circle"),r()()}}function Ao(t,n){if(t&1&&(a(0,"div",38),U(1,39),F(2,Xi,5,16,"app-file-tree",40)(3,Wi,5,12,"app-file-tree",41)(4,Yi,7,12,"spk-form-field")(5,no,8,13,"spk-form-field")(6,ro,7,11,"spk-select")(7,lo,8,12,"spk-select",42)(8,_o,14,11,"div",43)(9,uo,7,11,"spk-form-field")(10,go,5,11,"spk-toggle",44)(11,Eo,7,8,"spk-select",45)(12,ho,5,11,"spk-form-field"),B(),F(13,No,3,0,"button",29),r()),t&2){let e=n.$implicit;Pe("single-field",e.formGroupName!=="advanced"),s(),_("formGroupName",e.formGroupName),s(),g(e.formView.type==="FileTree"?2:e.formView.type==="FolderTree"?3:e.formView.type==="String"||e.formView.type==="Path"?4:e.formView.type==="Password"?5:e.formView.type==="Enumeration"?6:e.formView.type==="NonValidatedSelectableString"?7:e.formView.type==="Size"?8:e.formView.type==="Integer"?9:e.formView.type==="Boolean"?10:e.formView.type==="Flags"?11:e.formView.type==="Timespan"?12:-1),s(11),g(e.formGroupName==="advanced"?13:-1)}}function yo(t,n){if(t&1&&(U(0,20)(1,33),M(2,Ri,1,9,"ng-container",null,I),M(4,Gi,1,9,"ng-container",null,I),a(6,"app-toggle-card",34),U(7,35),T(8,8),a(9,"spk-menu")(10,"button",36),m(11,"spk-icon"),r(),U(12,18),M(13,bi,2,1,"button",30,I),B(),r(),E(),B(),M(15,Li,1,9,"ng-container",null,I),r(),a(17,"app-toggle-card",34),U(18,35),T(19,9),a(20,"spk-menu")(21,"button",36),m(22,"spk-icon"),r(),U(23,18),M(24,Ui,2,1,"button",30,I),B(),r(),E(),B(),M(26,Ki,1,9,"ng-container",null,I),r(),F(28,Ao,14,5,"ng-template",null,1,ot),B()()),t&2){let e=p();s(2),w(e.destinationFormPair().custom),s(2),w(e.destinationFormPair().dynamic),s(2),_("disallowToggle",!0),s(4),_("disabled",e.notSelectedAdvancedFormPair().length===0),s(3),w(e.notSelectedAdvancedFormPair()),s(2),w(e.selectedAdvancedFormPair()),s(2),_("disallowToggle",!0),s(4),_("disabled",e.notSelectedHttpOptions().length===0),s(3),w(e.notSelectedHttpOptions()),s(2),w(e.selectedHttpOptions())}}function Oo(t,n){if(t&1){let e=P();a(0,"spk-dialog",67),wt("isOpenChange",function(o){f(e);let l=p();return Mt(l.targetUrlDialogOpen,o)||(l.targetUrlDialogOpen=o),S(o)}),a(1,"header",68)(2,"h2"),k(3,10),r(),a(4,"spk-alert",69),k(5,11),r()(),a(6,"div",70)(7,"spk-form-field"),m(8,"textarea",71),r()(),a(9,"footer",72)(10,"button",22),C("click",function(){f(e);let o=p();return S(o.closeTargetUrlDialog(!1))}),c(11,"Cancel"),r(),a(12,"button",73),C("click",function(){f(e);let o=p();return S(o.closeTargetUrlDialog(!0))}),T(13,12),m(14,"spk-icon"),E(),r()()()}if(t&2){let e=p();It("isOpen",e.targetUrlDialogOpen),_("options",Rt(3,Ai)),s(8),_("formControl",e.targetUrlCtrl)}}var Po=["Bytes","KB","MB","GB","TB","PB"],ft=new ee,Jt=(t={destinations:[]})=>ft.group({destinations:ft.array(t.destinations)}),en=({key:t,customGroup:n,dynamicGroup:e,advancedGroup:i})=>ft.group({destinationType:ft.control(t),custom:n,dynamic:e,advanced:i}),Pt=class t{#e=x(ne);#t=x(Se);#i=x(Gt);#o=x(Xe);#n=x(pe);#r=x(Ut);injector=x(xt);formRef=Fe.required("formRef");destinationForm=this.#n.destinationForm;destinationFormPair=this.#n.destinationFormPair;selectedAdvancedFormPair=this.#n.selectedAdvancedFormPair;notSelectedAdvancedFormPair=this.#n.notSelectedAdvancedFormPair;selectedHttpOptions=this.#n.selectedHttpOptions;notSelectedHttpOptions=this.#n.notSelectedHttpOptions;destinationOptions=this.#n.destinationOptions;destinationFormSignal=this.#n.destinationFormSignal;destinationCount=V(()=>this.destinationFormSignal()?.destinations?.length??0);sizeOptions=O(Po);successfulTest=O(!1);destinationTypeOptionsInFocus=O(["file","ssh","s3","gcs","googledrive","azure"]);destinationTypeOptions=O(Object.entries(ye).map(([n,{title:e,description:i}])=>({key:n,title:e,description:i})));destinationTypeOptionsFocused=V(()=>{let n=this.destinationTypeOptionsInFocus(),e=this.destinationTypeOptions();return n.map(i=>e.find(o=>o.key===i))});destinationTypeOptionsNotFocused=V(()=>{let n=this.destinationTypeOptionsInFocus();return this.destinationTypeOptions().filter(i=>!n.includes(i.key))});getFormFieldValue(n,e,i){return((this.destinationForm.controls.destinations.controls?.[n]).controls?.[e]).controls[i].value}addDestinationFormGroup(n){this.#n.addDestinationFormGroup(n)}addAdvancedFormPair(n,e){this.#n.addAdvancedFormPair(n,e)}removeFormView(n,e){this.#n.removeAdvancedFormPair(n,e)}addHttpOption(n,e){this.#n.addHttpOption(n,e)}targetUrl=V(()=>this.#n.getCurrentTargetUrl()[0]);targetUrlCtrl=new lt;targetUrlInitial=O(null);targetUrlDialogOpen=O(!1);openTargetUrlDialog(){let e=this.#n.getCurrentTargetUrl()[0];this.targetUrlCtrl.setValue(e),this.targetUrlInitial.set(e),this.targetUrlDialogOpen.set(!0)}closeTargetUrlDialog(n=!1){this.targetUrlDialogOpen.set(!1);let e=this.targetUrlCtrl.value,i=this.targetUrlInitial();!n||e===i||this.#n.updateFieldsFromTargetUrl(this.targetUrlCtrl.value)}testDestination(n=0){let i=this.#n.getCurrentTargetUrl()[n];i&&this.#o.postApiV1RemoteoperationTest({requestBody:{path:i}}).subscribe({next:()=>{this.successfulTest.set(!0),setTimeout(()=>{this.successfulTest.set(!1)},3e3)},error:o=>{let l=o.error.error.Error;if(l==="missing-folder"&&this.#r.open(Ke,{data:{title:$localize`Create folder`,message:$localize`The remote destination folder does not exist, do you want to create it?`},closed:u=>{u&&this.#o.postApiV1RemoteoperationCreate({requestBody:{path:i}}).subscribe()}}),l.startsWith("incorrect-cert:")){let u=l.split("incorrect-cert:")[1];this.#r.open(Ke,{maxWidth:"500px",data:{title:$localize`Trust the certificate`,message:$localize`The server is using a certificate that is not trusted.
|
|
2
|
+
If this is a self-signed certificate, you can choose to trust this certificate.
|
|
3
|
+
The server reported the certificate hash: ${u}`,confirmText:"Trust the certificate",cancelText:"Cancel"},closed:A=>{A&&this.#n.addHttpOptionByName("accept-specified-ssl-hash",u)}})}if(l.startsWith("incorrect-host-key:")){let u=l.split('incorrect-host-key:"')[1].split('",')[0],A=l.split('accepted-host-key:"')[1].split('",')[0];A?this.#r.open(Ke,{maxWidth:"500px",data:{title:"The host key has changed",message:`The host key has changed, please check with the server administrator if this is correct,
|
|
4
|
+
otherwise you could be the victim of a MAN-IN-THE-MIDDLE attack.
|
|
5
|
+
Do you want to REPLACE your CURRENT host key ${A}
|
|
6
|
+
with the REPORTED host key: ${u}?`,confirmText:"Approve",cancelText:"Cancel"},closed:$=>{$&&this.#n.addAdvancedFormPairByName("ssh-fingerprint",n,u)}}):this.#r.open(Ke,{maxWidth:"500px",data:{title:"Approve host key?",message:`No certificate was specified, please verify that the reported host key is correct: ${u}`,confirmText:"Approve",cancelText:"Cancel"},closed:$=>{$&&this.#n.addAdvancedFormPairByName("ssh-fingerprint",n,u)}})}}})}mapToTargetUrl(n){return Ft(n.value)}removeDestinationFormGroup(n){this.destinationForm.controls.destinations.removeAt(n)}displayFn(n){let e=this.destinationOptions().find(i=>i.Key===n);return e?`${e.DisplayName}`:""}goBack(){this.#e.navigate(["general"],{relativeTo:this.#t.parent})}next(){this.#e.navigate(["source-data"],{relativeTo:this.#t.parent})}#s=O("https://duplicati-oauth-handler.appspot.com/").asReadonly();#l=O(Math.random().toString(36).substring(2)+Math.random().toString(36).substring(2)).asReadonly();#a=O(!1);#p=O(null);keyCreation(){}oauthStartTokenCreation(n){this.#a.set(!0);let e=450,i=600,o=this.#s()+"?type="+n+"&token="+this.#l(),l=screen.width/2-e/2,u=screen.height/2-i/2,A=window.open(o,"_blank","height="+i+",width="+e+",menubar=0,status=0,titlebar=0,toolbar=0,left="+l+",top="+u);A?.addEventListener("blur",$=>{console.log("event blur",$)}),A?.addEventListener("beforeunload",$=>{console.log("event beforeunload",$),this.#i.get(this.#s()+"fetch?callback=JSON_CALLBACK",{params:{token:this.#l()}}).pipe(Ye(()=>this.#a.set(!1))).subscribe({next:N=>{console.log("res",N),N?.authid&&this.#p.set(N.authid)}})})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=J({type:t,selectors:[["app-destination"]],viewQuery:function(e,i){e&1&&ge(i.formRef,Ti,5),e&2&&Ce()},decls:25,vars:6,consts:()=>{let n;n=$localize` Backup destination ${"\uFFFD#5\uFFFD"}:START_TAG_DIV:${"\uFFFD*6:1\uFFFD"}:START_BLOCK_IF_1:${"\uFFFD#1:1\uFFFD"}:START_TAG_BUTTON:${"\uFFFD*2:2\uFFFD"}:START_BLOCK_IF: Connected ${"[\uFFFD#1:2\uFFFD|\uFFFD#9\uFFFD|\uFFFD#12\uFFFD]"}:START_TAG_SPK_ICON:check${"[\uFFFD/#1:2\uFFFD|\uFFFD/#9\uFFFD|\uFFFD/#12\uFFFD]"}:CLOSE_TAG_SPK_ICON:${"[\uFFFD/*2:2\uFFFD|\uFFFD/*6:1\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD*3:3\uFFFD"}:START_BLOCK_ELSE: Test destination ${"\uFFFD/*3:3\uFFFD"}:CLOSE_BLOCK_ELSE:${"[\uFFFD/#1:1\uFFFD|\uFFFD/#8\uFFFD|\uFFFD/#11\uFFFD]"}:CLOSE_TAG_BUTTON:${"[\uFFFD/*2:2\uFFFD|\uFFFD/*6:1\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD#7\uFFFD"}:START_TAG_SPK_MENU:${"\uFFFD#8\uFFFD"}:START_TAG_BUTTON_1:${"[\uFFFD#1:2\uFFFD|\uFFFD#9\uFFFD|\uFFFD#12\uFFFD]"}:START_TAG_SPK_ICON:dots-three-vertical${"[\uFFFD/#1:2\uFFFD|\uFFFD/#9\uFFFD|\uFFFD/#12\uFFFD]"}:CLOSE_TAG_SPK_ICON:${"[\uFFFD/#1:1\uFFFD|\uFFFD/#8\uFFFD|\uFFFD/#11\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD#10\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD#11\uFFFD"}:START_TAG_BUTTON_2:${"[\uFFFD#1:2\uFFFD|\uFFFD#9\uFFFD|\uFFFD#12\uFFFD]"}:START_TAG_SPK_ICON:link${"[\uFFFD/#1:2\uFFFD|\uFFFD/#9\uFFFD|\uFFFD/#12\uFFFD]"}:CLOSE_TAG_SPK_ICON: Edit target URL ${"[\uFFFD/#1:1\uFFFD|\uFFFD/#8\uFFFD|\uFFFD/#11\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD/#10\uFFFD"}:CLOSE_TAG_NG_CONTAINER:${"\uFFFD/#7\uFFFD"}:CLOSE_TAG_SPK_MENU:${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_DIV:`,n=ke(n);let e;e=$localize`${"\uFFFD#20\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#20\uFFFD"}:CLOSE_TAG_SPK_ICON: Go back `;let i;i=$localize`${"\uFFFD#23\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#23\uFFFD"}:CLOSE_TAG_SPK_ICON: Continue `;let o;o=$localize` Want to select another destination? ${"\uFFFD#2\uFFFD"}:START_TAG_SPAN:Click here${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPAN:`;let l;l=$localize`More destinations are coming soon.`;let u;u=$localize`Other destinations`;let A;A=$localize` Advanced options ${"\uFFFD#9\uFFFD"}:START_TAG_SPK_MENU:${"\uFFFD#10\uFFFD"}:START_TAG_BUTTON: Add advanced option ${"\uFFFD#11\uFFFD"}:START_TAG_SPK_ICON:plus${"\uFFFD/#11\uFFFD"}:CLOSE_TAG_SPK_ICON:${"[\uFFFD/#10\uFFFD|\uFFFD/#1:1\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD#12\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD*14:1\uFFFD"}:START_BLOCK_FOR:${"\uFFFD#1:1\uFFFD"}:START_TAG_BUTTON_1: ${"\uFFFD0:1\uFFFD"}:INTERPOLATION: ${"[\uFFFD/#10\uFFFD|\uFFFD/#1:1\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD/*14:1\uFFFD"}:CLOSE_BLOCK_FOR:${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_NG_CONTAINER:${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SPK_MENU:`,A=ke(A);let $;$=$localize` Http options ${"\uFFFD#20\uFFFD"}:START_TAG_SPK_MENU:${"\uFFFD#21\uFFFD"}:START_TAG_BUTTON: Add http option ${"\uFFFD#22\uFFFD"}:START_TAG_SPK_ICON:plus${"\uFFFD/#22\uFFFD"}:CLOSE_TAG_SPK_ICON:${"[\uFFFD/#21\uFFFD|\uFFFD/#1:1\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD#23\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD*25:1\uFFFD"}:START_BLOCK_FOR:${"\uFFFD#1:1\uFFFD"}:START_TAG_BUTTON_1: ${"\uFFFD0:1\uFFFD"}:INTERPOLATION: ${"[\uFFFD/#21\uFFFD|\uFFFD/#1:1\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD/*25:1\uFFFD"}:CLOSE_BLOCK_FOR:${"\uFFFD/#23\uFFFD"}:CLOSE_TAG_NG_CONTAINER:${"\uFFFD/#20\uFFFD"}:CLOSE_TAG_SPK_MENU:`,$=ke($);let N;N=$localize`Edit target URL`;let q;q=$localize` Be careful, this will overwrite everything you have in your destination. `;let Q;return Q=$localize` Override target URL ${"\uFFFD#14\uFFFD"}:START_TAG_SPK_ICON:swap${"\uFFFD/#14\uFFFD"}:CLOSE_TAG_SPK_ICON:`,[["formRef",""],["fieldTemplate",""],n,e,i,o,l,u,A,$,N,q,Q,[3,"submit","formGroup"],[1,"title-30"],[1,"actions"],["spk-button","","type","button",1,"small",3,"success"],["spk-button","","type","button",1,"small"],["menu",""],["spk-button","","type","button",1,"small",3,"click"],["formArrayName","destinations"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"],[3,"isOpen","options"],[3,"click"],[1,"spk-primary"],[1,"most-common-destinations"],[1,"tile"],["spk-button","","type","button",1,"outlined"],["item","","type","button"],[1,"tile",3,"click"],["item","","type","button",3,"click"],["formGroupName","0"],[3,"disallowToggle"],["title",""],["spk-button","","type","button",1,"outlined","small",3,"disabled"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"field-row"],[3,"formGroupName"],[3,"startingPath","accepts","showFiles","showHiddenNodes","selectFiles"],[3,"startingPath"],[3,"isFreeText"],[1,"form-column",3,"formGroupName"],[1,"primary","raised"],[1,"primary",3,"selectMultiple"],[3,"for"],[1,"primary",3,"message"],["type","text",3,"id","formControlName"],["prefix",""],["autocomplete","off",3,"type","id","formControlName"],["prefix","",1,"link"],["suffix","",1,"clickable"],["prefix","",1,"link",3,"click"],["suffix","",1,"clickable",3,"click"],["type","search",3,"id","formControlName"],[3,"value"],["options",""],[1,"form-row"],["type","number","formControlName","size",3,"id"],["type","search","formControlName","unit"],["type","number",3,"id","formControlName"],["type","checkbox",3,"id","formControlName"],["type","text","id","text",3,"formControlName"],["deselect","",3,"value"],[1,"raised","primary"],["spk-button","","type","button",1,"outlined",3,"click"],[3,"isOpenChange","isOpen","options"],["header",""],[1,"warning"],["content",""],["id","targetUrl","autocomplete","off",3,"formControl"],["footer",""],["spk-button","","type","submit",1,"raised","primary",3,"click"]]},template:function(e,i){if(e&1){let o=P();a(0,"form",13,0),C("submit",function(){return f(o),S(i.next())}),a(2,"header")(3,"h3",14),T(4,2),a(5,"div",15),F(6,Pi,4,3,"button",16),a(7,"spk-menu")(8,"button",17),m(9,"spk-icon"),r(),U(10,18),a(11,"button",19),C("click",function(){return f(o),S(i.openTargetUrlDialog())}),m(12,"spk-icon"),r(),B(),r()(),E(),r(),F(13,ki,3,0,"p")(14,xi,2,0,"p"),r(),F(15,Mi,9,0)(16,yo,30,4,"ng-container",20),a(17,"div",21)(18,"button",22),C("click",function(){return f(o),S(i.goBack())}),T(19,3),m(20,"spk-icon"),E(),r(),a(21,"button",23),T(22,4),m(23,"spk-icon"),E(),r()()(),F(24,Oo,15,4,"spk-dialog",24)}if(e&2){let o;_("formGroup",i.destinationForm),s(6),g(i.destinationCount()>0?6:-1),s(7),g(i.destinationCount()>0?13:14),s(2),g(i.destinationCount()===0?15:-1),s(),g(!((o=i.destinationFormSignal())==null||o.destinations==null)&&o.destinations.length?16:-1),s(8),g(i.targetUrlDialogOpen()?24:-1)}},dependencies:[Ne,Ee,ie,Re,we,oe,Te,pt,De,he,ve,Vt,at,ae,le,ut,mt,se,re,be,He,Lt,_t,Ve,We],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}.form-column[_ngcontent-%COMP%]{display:flex;flex-direction:column}.form-column[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.form-column[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{font-size:1rem}.form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:2fr 1fr;gap:.5rem;align-items:flex-end}.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-level-40);border-radius:var(--shape-3);box-shadow:var(--shadow-1);background-color:var(--base-level-20);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{Jt as a,en as b,Pt as c,Wt as d,Nt as e,ht as f,jt as g,Er as h,At as i,Qt as j,yt as k,Zt as l,Ot as m,pe as n};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a,b,c}from"./chunk-
|
|
1
|
+
import{a,b,c}from"./chunk-45JBSR2F.js";import"./chunk-WWJ757LM.js";import"./chunk-DNHLTHLR.js";import"./chunk-3NZI2UZ4.js";import"./chunk-KFGIVU27.js";import"./chunk-7TWD5GBS.js";import"./chunk-ED3PEZLO.js";import"./chunk-AKLJ23OZ.js";import"./chunk-J3H4BCHI.js";import"./chunk-P6LV5I2K.js";import"./chunk-5XX7BU4I.js";import"./chunk-5ZK3D2RS.js";import"./chunk-MR4RE3IB.js";import"./chunk-C6Q5SG76.js";export{a as createDestinationForm,b as createDestinationFormGroup,c as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as a,e as b,f as c}from"./chunk-
|
|
1
|
+
import{d as a,e as b,f as c}from"./chunk-45JBSR2F.js";import"./chunk-WWJ757LM.js";import"./chunk-DNHLTHLR.js";import"./chunk-3NZI2UZ4.js";import"./chunk-KFGIVU27.js";import"./chunk-7TWD5GBS.js";import"./chunk-ED3PEZLO.js";import"./chunk-AKLJ23OZ.js";import"./chunk-J3H4BCHI.js";import"./chunk-P6LV5I2K.js";import"./chunk-5XX7BU4I.js";import"./chunk-5ZK3D2RS.js";import"./chunk-MR4RE3IB.js";import"./chunk-C6Q5SG76.js";export{b as NONE_OPTION,a as createGeneralForm,c as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a,b}from"./chunk-
|
|
1
|
+
import{a,b}from"./chunk-M2HNXB57.js";import"./chunk-K7H3KYW7.js";import"./chunk-WWJ757LM.js";import"./chunk-3NZI2UZ4.js";import"./chunk-KFGIVU27.js";import"./chunk-7TWD5GBS.js";import"./chunk-ED3PEZLO.js";import"./chunk-AKLJ23OZ.js";import"./chunk-J3H4BCHI.js";import"./chunk-P6LV5I2K.js";import"./chunk-5XX7BU4I.js";import"./chunk-5ZK3D2RS.js";import"./chunk-MR4RE3IB.js";import"./chunk-C6Q5SG76.js";export{a as createRestoreOptionsForm,b as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as E}from"./chunk-
|
|
1
|
+
import{e as E}from"./chunk-M2HNXB57.js";import"./chunk-K7H3KYW7.js";import"./chunk-WWJ757LM.js";import"./chunk-3NZI2UZ4.js";import"./chunk-KFGIVU27.js";import"./chunk-7TWD5GBS.js";import{o as g,s as O}from"./chunk-ED3PEZLO.js";import"./chunk-AKLJ23OZ.js";import{H as u,L as R,Y as m,Z as T}from"./chunk-J3H4BCHI.js";import"./chunk-P6LV5I2K.js";import"./chunk-5XX7BU4I.js";import"./chunk-5ZK3D2RS.js";import{Eb as n,Fb as r,Gb as a,Qb as _,Ra as p,Rb as l,X as s,fb as S,sc as d,vb as F}from"./chunk-MR4RE3IB.js";import"./chunk-C6Q5SG76.js";var k=t=>["/restore-flow",t,"select-files"],f=t=>["/restore-flow",t,"options"],c=class t{#t=s(u);#e=s(E);backupId=this.#e.backupId;ngOnInit(){this.#e.init(this.#t.snapshot.params.id)}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=S({type:t,selectors:[["app-restore-flow"]],decls:9,vars:6,consts:()=>{let o;o=$localize`${"\uFFFD#3\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#3\uFFFD"}:CLOSE_TAG_SPK_RADIO: Select files `;let e;return e=$localize`${"\uFFFD#6\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#6\uFFFD"}:CLOSE_TAG_SPK_RADIO: Options `,[o,e,["step","","routerLinkActive","active",3,"routerLink"]]},template:function(e,i){e&1&&(n(0,"spk-stepper")(1,"div",2),_(2,0),a(3,"spk-radio"),l(),r(),n(4,"div",2),_(5,1),a(6,"spk-radio"),l(),r()(),n(7,"section"),a(8,"router-outlet"),r()),e&2&&(p(),F("routerLink",d(2,k,i.backupId())),p(3),F("routerLink",d(4,f,i.backupId())))},dependencies:[O,g,R,m,T],styles:["[_nghost-%COMP%]{display:block}spk-stepper[_ngcontent-%COMP%]{max-width:31.25rem;margin:2.5rem auto}section[_ngcontent-%COMP%]{max-width:31.25rem;margin:0 auto 2.5rem}"],changeDetection:0})};export{c as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as Me}from"./chunk-K7H3KYW7.js";import{a as X,b as Re}from"./chunk-
|
|
1
|
+
import{a as Me}from"./chunk-K7H3KYW7.js";import{a as X,b as Re}from"./chunk-WWJ757LM.js";import{b as H}from"./chunk-KFGIVU27.js";import{a as ge,b as A,d as D,e as y,h as v,j as Ee,l as b,o as G,p as w,r as x}from"./chunk-7TWD5GBS.js";import{a as W,g as V,n as fe,o as Ce,p as Pe,q as Ne,v as Ie}from"./chunk-ED3PEZLO.js";import{a as k}from"./chunk-AKLJ23OZ.js";import{H as $,X as f}from"./chunk-J3H4BCHI.js";import{pa as h}from"./chunk-5ZK3D2RS.js";import{Ab as j,B as se,Bb as Fe,Cb as ue,Db as Se,E as z,Eb as n,Fb as l,Gb as a,Hb as I,Ib as R,K as le,Kb as M,Kc as de,L as ae,Qb as F,R as _e,Ra as m,Rb as u,Sb as T,Wb as E,X as _,Xb as U,Za as O,c as oe,ea as d,fa as g,fb as N,ic as L,l as ie,lb as K,lc as me,p as ne,qc as ce,v as re,vb as c,vc as Oe,xb as pe,xc as Te}from"./chunk-MR4RE3IB.js";function De(r,t){r&1&&a(0,"spk-progress-bar",7)}function ye(r,t){if(r&1&&(n(0,"spk-option",13),L(1),Oe(2,"date"),l()),r&2){let e=t.$implicit;c("value",e.Version),m(),me(" ",e.Version,": ",Te(2,3,e.Time,"d MMM y, h:mm")," ")}}function ve(r,t){if(r&1&&(n(0,"app-file-tree",14)(1,"label",15),T(2,4),l(),a(3,"input",16),l()),r&2){let e=U(2);c("rootPath",e.rootPath())("backupSettings",e.backupSettings())("multiSelect",!0)("showFiles",!0)}}function be(r,t){if(r&1&&(n(0,"spk-select",11),a(1,"input",12),ue(2,ye,3,6,"spk-option",13,Fe),l(),K(4,ve,4,4,"app-file-tree",14)),r&2){let e=U();c("displayFn",e.displayFn()),m(2),Se(e.versionOptions()),m(2),j(e.rootPathLoaded()?4:-1)}}var B=new w,he=()=>B.group({filesToRestore:B.control(""),selectedOption:B.control(null),passphrase:B.control(null)}),q=class r{#t=_(k);#e=_(C);#o=_(f);#i=_($);#n=_(h);selectFilesForm=this.#e.selectFilesForm;selectFilesFormSignal=this.#e.selectFilesFormSignal;backupId=this.#e.backupId;versionOptionsLoading=this.#e.versionOptionsLoading;versionOptions=this.#e.versionOptions;backupSettings=de(()=>{let t=this.backupId(),e=this.selectFilesFormSignal()?.selectedOption;if(typeof e!="number"||!t)return null;let i=this.versionOptions()?.find(s=>s.Version===e)?.Time??null;return i?{id:t,time:i}:null});rootPathLoaded=O(!1);rootPath=Me([this.selectFilesFormSignal,this.backupId],oe(le([null,null]),ae(([t,e])=>{let o=t?.selectedOption,i=e;if(typeof o!="number"||!i)return ie("/");let s=this.versionOptions()?.find(p=>p.Version===o);return this.#t.getApiV1BackupByIdFiles({id:i,time:s?.Time??"",prefixOnly:!1,folderContents:!0}).pipe(ne(p=>(this.rootPathLoaded.set(!0),p.Files[0].Path)))})));displayFn(){let t=this.versionOptions();return e=>{if(!e)return"";let o=t?.find(i=>i.Version?.toString()===e);return o?`${o.Version}: ${this.#n.transform(o.Time,"d MMM y, h:mm")}`:""}}next(){this.#o.navigate(["options"],{relativeTo:this.#i.parent})}exit(){this.#e.exit()}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=N({type:r,selectors:[["app-select-files"]],features:[ce([h])],decls:13,vars:2,consts:()=>{let t;t=$localize`Select files`;let e;e=$localize`${"\uFFFD#9\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SPK_ICON: Exit `;let o;o=$localize`${"\uFFFD#12\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SPK_ICON: Continue `;let i;i=$localize`Select an option...`;let s;return s=$localize`Path`,[["formRef",""],t,e,o,s,[3,"submit","formGroup"],[1,"title-30"],[1,"indeterminate","primary"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"],[3,"displayFn"],["type","text","placeholder",i,"formControlName","selectedOption"],[3,"value"],[3,"rootPath","backupSettings","multiSelect","showFiles"],["for","path"],["type","text","id","path","formControlName","filesToRestore"]]},template:function(e,o){if(e&1){let i=M();n(0,"form",5,0),E("submit",function(){return d(i),g(o.next())}),n(2,"h3",6),T(3,1),l(),K(4,De,1,0,"spk-progress-bar",7)(5,be,5,2),n(6,"div",8)(7,"button",9),E("click",function(){return d(i),g(o.exit())}),F(8,2),a(9,"spk-icon"),u(),l(),n(10,"button",10),F(11,3),a(12,"spk-icon"),u(),l()()()}e&2&&(c("formGroup",o.selectFilesForm),m(4),j(o.versionOptionsLoading()?4:5))},dependencies:[x,v,A,D,y,b,G,h,X,V,Pe,W,Ne,fe],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};var C=class r{#t=_(f);#e=_(k);backupId=O(null);backup=O(null);selectFilesForm=he();optionsForm=$e();optionsFormSignal=H(this.optionsForm.valueChanges);selectFilesFormSignal=H(this.selectFilesForm.valueChanges);versionOptionsLoading=O(!1);versionOptions=O([]);isSubmitting=O(!1);init(t){this.backupId.set(t),this.#o(t,!0)}submit(){this.isSubmitting.set(!0);let t=this.backupId(),e=this.optionsForm.value,o=this.selectFilesForm.value,i=this.versionOptions()?.find(s=>s.Version===o.selectedOption);this.#e.postApiV1BackupByIdRestore({id:t??"",requestBody:{paths:o.filesToRestore?.split("\0").map(s=>`${s}*`)??[],passphrase:o.passphrase??null,time:i?.Time,restore_path:e.restoreFromPath,overwrite:e.handleExisting==="overwrite",permissions:e.permissions,skip_metadata:!0}}).pipe(z(()=>this.isSubmitting.set(!1))).subscribe({next:()=>this.exit(),error:s=>{console.error("restore error",s)}})}exit(){this.#i(),this.#t.navigate(["/"])}getVersionOptions(){this.versionOptions()}#o(t,e=!1){this.versionOptionsLoading.set(!0),re([this.#e.getApiV1BackupById({id:t}),this.#e.getApiV1BackupByIdFilesets({id:t})]).pipe(se(1),z(()=>this.versionOptionsLoading.set(!1))).subscribe({next:([o,i])=>{this.versionOptions.set(i),this.backup.set(o),e&&this.selectFilesForm.controls.selectedOption.setValue(i[0].Version)}})}#i(){this.selectFilesForm.reset(),this.optionsForm.reset()}static \u0275fac=function(e){return new(e||r)};static \u0275prov=_e({token:r,factory:r.\u0275fac,providedIn:"root"})};var P=new w,$e=()=>P.group({restoreFrom:P.control("orignal"),restoreFromPath:P.control(""),handleExisting:P.control("overwrite"),permissions:P.control(!1)}),J=class r{#t=_(C);#e=_(f);#o=_($);optionsForm=this.#t.optionsForm;optionsFormSignal=this.#t.optionsFormSignal;isSubmitting=this.#t.isSubmitting;goBack(){this.#e.navigate(["select-files"],{relativeTo:this.#o.parent})}submit(){this.#t.submit()}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=N({type:r,selectors:[["app-options"]],decls:39,vars:6,consts:()=>{let t;t=$localize`Restore options`;let e;e=$localize`Where do you want to restore files from?`;let o;o=$localize` Original location ${"\uFFFD#9\uFFFD\uFFFD/#9\uFFFD"}:TAG_INPUT:`;let i;i=$localize` Pick location ${"\uFFFD#12\uFFFD\uFFFD/#12\uFFFD"}:TAG_INPUT:`;let s;s=$localize`How do you want to handle existing files?`;let p;p=$localize` Overwrite ${"\uFFFD#22\uFFFD\uFFFD/#22\uFFFD"}:TAG_INPUT:`;let Q;Q=$localize` Save different versions with timestamp in file name ${"\uFFFD#25\uFFFD\uFFFD/#25\uFFFD"}:TAG_INPUT:`;let Y;Y=$localize`Permissions`;let Z;Z=$localize` Restore read/write permissions ${"\uFFFD#31\uFFFD\uFFFD/#31\uFFFD"}:TAG_INPUT:`;let ee;ee=$localize`${"\uFFFD#35\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#35\uFFFD"}:CLOSE_TAG_SPK_ICON: Go back `;let te;return te=$localize`${"\uFFFD#38\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#38\uFFFD"}:CLOSE_TAG_SPK_ICON: Submit `,[["formRef",""],t,e,o,i,s,p,Q,Y,Z,ee,te,[3,"submit","formGroup"],[1,"title-30"],[3,"disallowToggle"],["title",""],[1,"raised","primary"],["type","radio","name","restoreFrom","value","orignal","formControlName","restoreFrom"],["type","radio","name","restoreFrom","value","pickLocation","formControlName","restoreFrom"],[3,"disabled"],["for","path"],["type","text","id","path","formControlName","restoreFromPath"],["type","radio","name","handleExisting","value","overwrite","formControlName","handleExisting"],["type","radio","name","handleExisting","value","saveTimestamp","formControlName","handleExisting"],[1,"primary","raised"],["type","checkbox","formControlName","permissions"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"]]},template:function(e,o){if(e&1){let i=M();n(0,"form",12,0),E("submit",function(){return d(i),g(o.submit())}),n(2,"h3",13),T(3,1),l(),n(4,"app-toggle-card",14),I(5,15),T(6,2),R(),n(7,"spk-radio",16),F(8,3),a(9,"input",17),u(),l(),n(10,"spk-radio",16),F(11,4),a(12,"input",18),u(),l(),n(13,"app-file-tree",19)(14,"label",20),L(15,"Path"),l(),a(16,"input",21),l()(),n(17,"app-toggle-card",14),I(18,15),T(19,5),R(),n(20,"spk-radio",16),F(21,6),a(22,"input",22),u(),l(),n(23,"spk-radio",16),F(24,7),a(25,"input",23),u(),l()(),n(26,"app-toggle-card"),I(27,15),T(28,8),R(),n(29,"spk-toggle",24),F(30,9),a(31,"input",25),u(),l()(),n(32,"div",26)(33,"button",27),E("click",function(){return d(i),g(o.goBack())}),F(34,10),a(35,"spk-icon"),u(),l(),n(36,"button",28),F(37,11),a(38,"spk-icon"),u(),l()()()}if(e&2){let i;c("formGroup",o.optionsForm),m(4),c("disallowToggle",!0),m(9),c("disabled",((i=o.optionsFormSignal())==null?null:i.restoreFrom)!=="pickLocation"),m(4),c("disallowToggle",!0),m(19),pe("loader",o.isSubmitting())}},dependencies:[x,v,A,ge,Ee,D,y,b,G,Re,X,Ie,Ce,V,W],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};export{$e as a,J as b,he as c,q as d,C as e};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as a,d as b}from"./chunk-
|
|
1
|
+
import{c as a,d as b}from"./chunk-M2HNXB57.js";import"./chunk-K7H3KYW7.js";import"./chunk-WWJ757LM.js";import"./chunk-3NZI2UZ4.js";import"./chunk-KFGIVU27.js";import"./chunk-7TWD5GBS.js";import"./chunk-ED3PEZLO.js";import"./chunk-AKLJ23OZ.js";import"./chunk-J3H4BCHI.js";import"./chunk-P6LV5I2K.js";import"./chunk-5XX7BU4I.js";import"./chunk-5ZK3D2RS.js";import"./chunk-MR4RE3IB.js";import"./chunk-C6Q5SG76.js";export{a as createRestoreSelectFilesForm,b as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-C6Q5SG76.js";var o=[{path:"",redirectTo:"general",pathMatch:"full"},{path:"general",loadComponent:()=>import("./chunk-CN3765MU.js")},{path:"destination",loadComponent:()=>import("./chunk-7CADWXFT.js")},{path:"source-data",loadComponent:()=>import("./chunk-WUBH66KM.js")},{path:"schedule",loadComponent:()=>import("./chunk-SXQDKOHO.js")},{path:"options",loadComponent:()=>import("./chunk-YKAKSXUG.js")}];export{o as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as a,k as b}from"./chunk-
|
|
1
|
+
import{j as a,k as b}from"./chunk-45JBSR2F.js";import"./chunk-WWJ757LM.js";import"./chunk-DNHLTHLR.js";import"./chunk-3NZI2UZ4.js";import"./chunk-KFGIVU27.js";import"./chunk-7TWD5GBS.js";import"./chunk-ED3PEZLO.js";import"./chunk-AKLJ23OZ.js";import"./chunk-J3H4BCHI.js";import"./chunk-P6LV5I2K.js";import"./chunk-5XX7BU4I.js";import"./chunk-5ZK3D2RS.js";import"./chunk-MR4RE3IB.js";import"./chunk-C6Q5SG76.js";export{a as createScheduleForm,b as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{l as a,m as b}from"./chunk-
|
|
1
|
+
import{l as a,m as b}from"./chunk-45JBSR2F.js";import"./chunk-WWJ757LM.js";import"./chunk-DNHLTHLR.js";import"./chunk-3NZI2UZ4.js";import"./chunk-KFGIVU27.js";import"./chunk-7TWD5GBS.js";import"./chunk-ED3PEZLO.js";import"./chunk-AKLJ23OZ.js";import"./chunk-J3H4BCHI.js";import"./chunk-P6LV5I2K.js";import"./chunk-5XX7BU4I.js";import"./chunk-5ZK3D2RS.js";import"./chunk-MR4RE3IB.js";import"./chunk-C6Q5SG76.js";export{a as createSourceDataForm,b as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as ue}from"./chunk-3NZI2UZ4.js";import{q as ge}from"./chunk-7TWD5GBS.js";import{a as D,f as he,k as _e,l as fe,n as me,v as Ce}from"./chunk-ED3PEZLO.js";import{a as pe}from"./chunk-AKLJ23OZ.js";import{ia as de}from"./chunk-5ZK3D2RS.js";import{Ab as P,Cb as te,Db as ne,E as V,Eb as p,Fb as u,Gb as ie,Jb as X,Kb as I,Kc as B,Mc as k,Ra as h,Sb as A,Tb as oe,Ub as re,Wb as O,X as H,Xb as g,Yb as L,Za as y,Zb as x,_a as q,ab as Z,ea as w,fa as N,fb as R,fc as Q,gc as se,hc as z,ic as b,kc as le,lb as v,qa as G,ra as m,sc as W,tc as ae,v as Y,vb as K,wb as ee,xb as E,yc as ce}from"./chunk-MR4RE3IB.js";import{a as $,b as j}from"./chunk-C6Q5SG76.js";var Me=["treeContainer"],ye=["formRef"],Oe=[[["label"]],[["label"]],[["input"]]],Se=["label","label","input"],Fe=(i,t)=>t.id,we=i=>({children:i,level:0}),ve=i=>({$implicit:i}),Ne=(i,t)=>({children:i,level:t});function ke(i,t){if(i&1){let e=I();p(0,"spk-button-group")(1,"button",13),O("click",function(){w(e);let s=g();return N(s.pathDiscoveryMethod.set("browse"))}),A(2,4),u(),p(3,"button",13),O("click",function(){w(e);let s=g();return N(s.pathDiscoveryMethod.set("path"))}),A(4,5),u()()}if(i&2){let e=g();h(),E("active",e.pathDiscoveryMethod()==="browse"),h(2),E("active",e.pathDiscoveryMethod()==="path")}}function Re(i,t){i&1&&ie(0,"spk-progress-bar",9)}function Ie(i,t){i&1&&(p(0,"spk-icon",16),b(1,"folder-open"),u())}function Ae(i,t){i&1&&(p(0,"spk-icon"),b(1,"file"),u())}function Le(i,t){i&1&&(p(0,"spk-icon",16),b(1,"folder"),u())}function We(i,t){if(i&1&&v(0,Ie,2,0,"spk-icon",16)(1,Ae,2,0,"spk-icon")(2,Le,2,0,"spk-icon",16),i&2){let e=g(2).$implicit;P(e.children.length?0:e.cls==="file"?1:2)}}function Be(i,t){i&1&&(p(0,"spk-icon",16),b(1,"desktop-tower"),u())}function De(i,t){i&1&&X(0)}function $e(i,t){if(i&1&&v(0,De,1,0,"ng-container",10),i&2){let e=g(2).$implicit,n=g().$implicit;g();let s=z(7);K("ngTemplateOutlet",s)("ngTemplateOutletContext",W(5,ve,ae(2,Ne,e.children,n.level+1)))}}function je(i,t){if(i&1){let e=I();p(0,"div",14,3),O("click",function(){w(e);let s=g().$implicit,o=g(2);return N(o.toggleNode(s.id,s))}),p(2,"div",15),v(3,We,3,1)(4,Be,2,0,"spk-icon",16),u(),p(5,"div",17),O("click",function(s){w(e);let o=g().$implicit,r=g(2);return N(r.toggleSelectedNode(s,o))}),b(6),u()(),v(7,$e,1,7,"ng-container")}if(i&2){let e=g().$implicit,n=g(2);E("accepted",e.accepted===!0)("active",e.evalState===n.TreeEvalEnum.Included)("indeterminate",e.isIndeterminate)("open",e.children.length)("usually-hidden",e.hidden),h(3),P(e.id!=="/"?3:4),h(3),le(" ",e.text," "),h(),P(e.children.length>0?7:-1)}}function Ve(i,t){if(i&1&&v(0,je,8,13),i&2){let e=t.$implicit,n=g(2);P(e.hidden&&n._showHiddenNodes()||!e.hidden?0:-1)}}function He(i,t){if(i&1&&(p(0,"spk-list"),te(1,Ve,1,1,null,null,Fe),u()),i&2){let e=t.$implicit;ee("padding-left",e.level*.5,"rem"),h(),ne(e.children)}}function Ge(i,t){i&1&&X(0)}function qe(i,t){if(i&1){let e=I();p(0,"spk-toggle",18),O("click",function(){w(e);let s=g();return N(s._showHiddenNodes.set(!s._showHiddenNodes()))}),A(1,6),u()}if(i&2){let e=g();E("active",e._showHiddenNodes()),h(),oe(e.showFiles()?"files":"folders"),re(1)}}var Ee=(o=>(o[o.ExcludedByParent=-2]="ExcludedByParent",o[o.Excluded=-1]="Excluded",o[o.None=0]="None",o[o.Included=1]="Included",o[o.IncludedByParent=2]="IncludedByParent",o))(Ee||{}),U=class i{#t=H(pe);#r=H(ue);multiSelect=m(!1);disabled=m(!1);showFiles=m(!1);selectFiles=m(!1);accepts=m(null);startingPath=m(null);rootPath=m(void 0);backupSettings=m(null);showHiddenNodes=m(!1);includes=G();excludes=G();_showHiddenNodes=y(!1);treeContainerRef=q("treeContainer");formRef=q("formRef");pathDiscoveryMethod=y("browse");isLoading=y(!1);currentPath=y("/");#e=y(null);treeSearchQuery=y("");treeNodes=y([]);filterGroups=this.#r.filterGroups();isByBackupSettings=B(()=>this.rootPath()&&this.backupSettings()?.id&&this.backupSettings()?.time);searchableTreeNodes=B(()=>{let t=this.treeSearchQuery();return t?this.treeNodes().filter(e=>e.text?.toLowerCase().includes(t.toLowerCase())):this.treeNodes()});TreeEvalEnum=Ee;treeStructure=B(()=>{let t=this.showHiddenNodes(),e=this.currentPath().split("\0").filter(a=>a!==""&&a!=="/"),n=structuredClone(e);for(let a=0;a<n.length;a++){let _=n[a].slice(1);if(_.startsWith("{")&&_.endsWith("}")){let f=_.slice(1,-1),d=this.filterGroups?.FilterGroups[f];if(d&&d.length){let M=d.map(T=>`-${T}`);n.splice(a,1,...M)}}}let s=this.searchableTreeNodes(),o=new Map,r=this.rootPath(),C=this.accepts(),l=r?{id:r,resolvedpath:r,text:r?.replaceAll("/",""),parentPath:"",children:[],evalState:0,isIndeterminate:!1,cls:"folder"}:{id:"/",resolvedpath:"/",text:"Computer",parentPath:"",children:[],evalState:0,isIndeterminate:!1};C&&(l.accepted=!0),o.set("/",l);for(let a of s){let _=a.id.replace(r??"","").split("/").filter(Boolean),f="",d=l;for(let M of _){if(f+="/"+M,!o.has(f)){let T=a.hidden===!0&&t?0:this.#s(n,a.id,a.cls,d),S={id:a.id,isIndeterminate:this.isIndeterminate(n,a.id),evalState:T,parentPath:f,resolvedpath:a.id?.startsWith("%")?a.resolvedpath+"/":f,hidden:a.hidden,text:a.text,cls:a.cls,children:[]};C&&(S.accepted=this.matchAccepts(C,S)),o.set(f,S),d.children.push(S)}d=o.get(f)}}return[l]});#s(t,e,n,s){if(s.evalState===-1)return-2;let o=0,r=t.filter(l=>!l.startsWith("-")&&!l.startsWith("+")),C=t.filter(l=>l.startsWith("-")||l.startsWith("+"));if(r.length===0)return o;for(let l=0;l<r.length;l++){let a=r[l];if(e?.startsWith(a)){o=1;break}}if(C.length===0)return o;for(let l=0;l<C.length;l++){let a=C[l],c=a.slice(1),_=a.startsWith("-")?"exclude":"include";if(c.startsWith("/")&&c.endsWith("/")){if(n!=="folder")continue;if(e===c){o=_==="include"?1:-1;break}}if(c.startsWith("*")&&c.endsWith("*/")){if(n!=="folder")continue;let d=c.slice(1,-2);if(d==="")break;if(e?.includes(d+"/")){o=_==="include"?1:-1;break}}if(c.startsWith("[.*")&&c.endsWith("[^\\/]*]")){if(n!=="file")continue;let d=c.slice(3,-7);if(new RegExp(d).test(e)){o=_==="include"?1:-1;break}}if(c.startsWith("[")&&c.endsWith("]")){let d=c.slice(1,-1),M=this.translateCSharpRegex(d);if(new RegExp(`${M}`).test(e)){o=_==="include"?1:-1;break}}if(c.startsWith("*.")){if(n!=="file"||c.replace("*.","").length===0)continue;if(this.#n(e,c,!0)){o=_==="include"?1:-1;break}}if(c==="")continue;if(this.#n(e,c,!0)){o=_==="include"?1:-1;break}}return o}translateCSharpRegex(t){let e=t;e=e.replace(/^@/,"");let n=/\(\?<(?<name>\w+)>(?<pattern>[^)]+)\)/g;return e=e.replace(n,(s,o,r)=>`(${r})`),e=e.replace(/\\/g,"\\\\"),e}isIndeterminate(t,e){return t.some(n=>n.startsWith(e))}#n(t,e,n=!1){let s=e.replace(/\*/g,".*").replace(/\?/g,".").replace(/\[!([^\]]+)\]/g,"[^$1]");return new RegExp(`${s}${n?"$":""}`).test(t)}showHiddenNodesEffect=k(()=>this._showHiddenNodes.set(this.showHiddenNodes()));pathDiscoveryMethodEffect=k(()=>{let t=this.pathDiscoveryMethod(),e=this.#e();t==="browse"&&e&&this.currentPath.set(e.value)});matchAccepts(t,e){if(!t||e.cls==="folder"||e.id==="/")return!0;let n=t.split(",");if(n.length===0)return!0;let s="."+e.id.slice(e.id.indexOf("."));return s?n.some(o=>s.endsWith(o)):!1}currentPathEffect=k(()=>{let t=this.#e();t&&(t.value=this.currentPath(),t.dispatchEvent(new Event("input")))});inputValueChangeAbortController=null;inputRefEffect=k(()=>{let t=this.formRef()?.nativeElement?.querySelector("input");t&&(this.#l(t),this.inputValueChangeAbortController&&this.inputValueChangeAbortController.abort(),this.inputValueChangeAbortController=new AbortController,t.addEventListener("inputValueChanged",e=>{this.currentPath.set(e.detail.value)},{signal:this.inputValueChangeAbortController.signal}),this.#e.set(t),t.autocomplete="off")});ngOnInit(){let t=this.startingPath();t?(this.currentPath.set(t),this.#d(t)):this.#o(null,this.rootPath())}toggleSelectedNode(t,e){if(e.id==="/"||(t.stopPropagation(),e.evalState===-2))return;if(this.selectFiles()&&e.cls==="folder"){this.toggleNode(e.id,e);return}if(this.accepts()&&!e.accepted)return;let s=this.currentPath().split("\0").filter(r=>r!==""&&r!=="/"),o=this.isChildOfSelected(e)?`-${e.id}`:e.id;this.multiSelect()?s.includes(e.id)?this.currentPath.set(s.filter(r=>r!==e.id).join("\0")):s.some(r=>r.startsWith(o))?this.currentPath.set(s.filter(r=>r!==o).join("\0")):this.currentPath.set([...s,o].join("\0")):s.includes(e.id)?this.currentPath.set(s.filter(r=>r!==e.id).join("\0")):this.currentPath.set(e.id)}isChildOfSelected(t){return this.currentPath().split("\0").filter(n=>n!==""&&n!=="/").some(n=>t.id?.startsWith(n)||`-${t.id}`.startsWith(n))}toggleNode(t,e=null){e?.cls==="folder"&&(e?.children.length?this.treeNodes.update(n=>n.filter(s=>!s.id?.startsWith(e.id)||s.id===e.id)):this.#o(e,t))}#l(t){return Object.defineProperty(t,"value",{configurable:!0,get(){return Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value").get.call(this)},set(e){return Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value").set.call(this,e),this.dispatchEvent(new CustomEvent("inputValueChanged",{bubbles:!0,cancelable:!0,detail:{value:e}})),e}}),t}#a(t){return this.#t.postApiV1Filesystem({showHidden:!0,requestBody:{path:t},onlyFolders:!this.showFiles()})}#c(t){let e=this.backupSettings(),n={id:e.id,time:e.time,prefixOnly:!1,folderContents:!0};return t&&(n.filter="@"+t),this.#t.getApiV1BackupByIdFiles(n)}#i(t){return this.isByBackupSettings()?this.#c(t):this.#a(t)}#d(t){let e=t.split("\0").filter(r=>r.startsWith("-")).map(r=>r.slice(1,-1)),n=t.split("\0").filter(r=>!r.startsWith("-")).filter(Boolean),s=n.map(r=>r.split("/").filter(Boolean)),o=[this.rootPath()??"/"];s.forEach(r=>{r.forEach((C,l)=>{let a=r.slice(0,l+1).join("/"),c=a.startsWith("%")?a:"/"+a;o.includes(c)||o.push(c)})}),this.isLoading.set(!0),Y([...o.map(r=>this.#i(r))]).pipe(V(()=>this.isLoading.set(!1))).subscribe({next:r=>{this.treeNodes.update(C=>{let l=r.flatMap(c=>c.map(_=>{let f=_.id,d=f&&f.split("/").filter(Boolean).slice(0,-1).join("/"),T="/"+(f&&f.split("/").filter(Boolean).join("/")),S=n.findIndex(F=>this.multiSelect()?T.startsWith(F):T===F)>-1,Pe=n.findIndex(F=>F===f)>-1,Te=e.findIndex(F=>F===T)>-1;return j($({},_),{parentPath:d.startsWith("%")?d:"/"+d,isSelected:S&&!Te||Pe})}));return[...new Map([...C,...l].map(c=>[c.resolvedpath??c.id,c])).values()]})}})}#o(t=null,e="/"){this.isLoading.set(!0),this.#i(e).pipe(V(()=>this.isLoading.set(!1))).subscribe({next:n=>{let s=this.isByBackupSettings()?n.Files.map(o=>({text:o.Path.split("/").filter(r=>r!=="").pop(),id:o.Path,cls:o.Path.endsWith("/")?"folder":"file",leaf:t!==null,resolvedpath:o.Path,hidden:!1})):n;this.treeNodes.update(o=>{let r=s.map(l=>{let a=l.id.startsWith("%")&&l.id.endsWith("%")||l.id.endsWith("/")?"folder":"file";return j($({},l),{cls:a,parentPath:e})});return[...new Map([...o,...r].map(l=>[l.resolvedpath??l.id,l])).values()]})}})}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=R({type:i,selectors:[["app-file-tree"]],viewQuery:function(e,n){e&1&&(Q(n.treeContainerRef,Me,5),Q(n.formRef,ye,5)),e&2&&se(2)},hostVars:2,hostBindings:function(e,n){e&2&&E("disabled",n.disabled())},inputs:{multiSelect:[1,"multiSelect"],disabled:[1,"disabled"],showFiles:[1,"showFiles"],selectFiles:[1,"selectFiles"],accepts:[1,"accepts"],startingPath:[1,"startingPath"],rootPath:[1,"rootPath"],backupSettings:[1,"backupSettings"],showHiddenNodes:[1,"showHiddenNodes"]},outputs:{includes:"includes",excludes:"excludes"},ngContentSelectors:Se,decls:15,vars:15,consts:()=>{let t;t=$localize` Browser path `;let e;e=$localize` Manually type path `;let n;return n=$localize` Show hidden ${"\uFFFD0\uFFFD"}:INTERPOLATION: `,[["treeContainer",""],["recursiveTree",""],["formRef",""],["treeNode",""],t,e,n,[1,"section"],[1,"browse-files"],[1,"indeterminate","primary"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"primary","raised","browse-files-toggle",3,"active"],[1,"form-field"],["type","button",3,"click"],["action","",3,"click"],[1,"icon"],[1,"spk-primary"],[1,"text",3,"click"],[1,"primary","raised","browse-files-toggle",3,"click"]]},template:function(e,n){if(e&1&&(L(Oe),v(0,ke,5,4,"spk-button-group"),p(1,"div",7),x(2,0,["ngProjectAs","label",5,["label"]]),p(3,"div",8,0),v(5,Re,1,0,"spk-progress-bar",9)(6,He,3,2,"ng-template",null,1,ce)(8,Ge,1,0,"ng-container",10),u(),v(9,qe,2,3,"spk-toggle",11),u(),p(10,"div",12,2)(12,"spk-form-field"),x(13,1,["ngProjectAs","label",5,["label"]]),x(14,2,["ngProjectAs","input",5,["input"]]),u()()),e&2){let s=z(7);P(n.multiSelect()?-1:0),h(),E("hidden",n.pathDiscoveryMethod()!=="browse"),h(2),E("visualize-accepted",n.accepts()),h(2),P(n.isLoading()?5:-1),h(3),K("ngTemplateOutlet",s)("ngTemplateOutletContext",W(13,ve,W(11,we,n.treeStructure()))),h(),P(n.accepts()?-1:9),h(),E("hidden",n.pathDiscoveryMethod()!=="path")}},dependencies:[he,Ce,D,_e,fe,me,de,ge],styles:['[_nghost-%COMP%]{display:flex;flex-direction:column;gap:1rem}.disabled[_nghost-%COMP%]{opacity:.5;-webkit-user-select:none;user-select:none;pointer-events:none;position:relative}.disabled[_nghost-%COMP%]:before{content:"";position:absolute;inset:0;background:transparent}.fill[_nghost-%COMP%]{height:auto;overflow:hidden;flex:1 0}.fill[_nghost-%COMP%] .section[_ngcontent-%COMP%]{height:auto;overflow:hidden;flex:1 0;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;grid-template-areas:"label toggle" "tree tree"}.fill[_nghost-%COMP%] .browse-files[_ngcontent-%COMP%]{resize:none;height:initial;grid-area:tree}.fill[_nghost-%COMP%] label[_ngcontent-%COMP%]{grid-area:label}.fill[_nghost-%COMP%] spk-toggle[_ngcontent-%COMP%]{grid-area:toggle;flex-direction:row-reverse}.section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.form-field.hidden[_ngcontent-%COMP%]{display:none}.browse-files[_ngcontent-%COMP%]{display:flex;gap:.5rem;padding:.5rem 1rem;height:12.5rem;border:1px solid var(--base-level-40);border-radius:var(--shape-3);overflow:auto;resize:vertical;background:var(--base-level-10);position:relative}.browse-files[_ngcontent-%COMP%] spk-progress-bar[_ngcontent-%COMP%]{position:absolute;top:0;left:0;right:0}.browse-files.visualize-accepted[_ngcontent-%COMP%] [action][_ngcontent-%COMP%]:not(.accepted){opacity:.5}.browse-files.visualize-accepted[_ngcontent-%COMP%] [action].accepted[_ngcontent-%COMP%]{opacity:1}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%]{--list-active-bg: var(--base-level-30);gap:.125rem;padding:0;height:min-content;min-width:min-content}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%]{padding:0;gap:.25rem;border:1px solid transparent}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action].active[_ngcontent-%COMP%]{border-color:var(--base-level-40)}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action].indeterminate[_ngcontent-%COMP%]{border-color:var(--primary-level-40)}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action].usually-hidden[_ngcontent-%COMP%]{opacity:.6}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{flex:1 0;height:100%;width:max-content;display:flex;align-items:center}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer}.browse-files-toggle[_ngcontent-%COMP%]{color:var(--base-level-60R)}.hidden[_ngcontent-%COMP%]{display:none}'],changeDetection:0})};var Ke=[[["","title",""]],[["","description",""]],[["","action",""]],"*"],Xe=["[title]","[description]","[action]","*"];function Qe(i,t){i&1&&b(0,"Title")}function ze(i,t){i&1&&(p(0,"spk-icon"),b(1,"caret-down"),u())}var J=class i{isActive=Z(!1);disallowToggle=m(!1);ngOnInit(){this.disallowToggle()&&this.isActive.set(!0)}toggle(){this.isActive.set(!this.isActive())}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=R({type:i,selectors:[["app-toggle-card"]],hostVars:2,hostBindings:function(e,n){e&2&&E("active",n.isActive())},inputs:{isActive:[1,"isActive"],disallowToggle:[1,"disallowToggle"]},outputs:{isActive:"isActiveChange"},ngContentSelectors:Xe,decls:11,vars:1,consts:[[1,"title"],[3,"click"],[1,"actions"],[1,"content"]],template:function(e,n){e&1&&(L(Ke),p(0,"header")(1,"div",0)(2,"h3",1),O("click",function(){return n.disallowToggle()||n.toggle()}),x(3,0,null,Qe,1,0),v(5,ze,2,0,"spk-icon"),u(),x(6,1),u(),p(7,"div",2),x(8,2),u()(),p(9,"div",3),x(10,3),u()),e&2&&(h(5),P(n.disallowToggle()?-1:5))},dependencies:[D],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;border-radius:var(--shape-3);background-color:var(--base-level-20)}.active[_nghost-%COMP%] .content[_ngcontent-%COMP%]{max-height:1000px;transition:max-height 1s linear;padding:0 1rem 1rem}.active[_nghost-%COMP%] spk-icon[_ngcontent-%COMP%]{transform:rotate(180deg)}[_nghost-%COMP%] h3[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;font:var(--paragraph-10);cursor:pointer;-webkit-user-select:none;user-select:none}[_nghost-%COMP%] spk-icon[_ngcontent-%COMP%]{transform:rotate(0);transform-origin:center;transition:transform .2s ease}header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem}header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem;padding:0 1rem;overflow:hidden;max-height:0;transition:max-height .25s linear,padding .25s linear}.content[_ngcontent-%COMP%]:empty{display:none}"],changeDetection:0})};export{U as a,J as b};
|
|
1
|
+
import{a as ue}from"./chunk-3NZI2UZ4.js";import{q as ge}from"./chunk-7TWD5GBS.js";import{a as D,f as he,k as _e,l as fe,n as me,v as Ce}from"./chunk-ED3PEZLO.js";import{a as pe}from"./chunk-AKLJ23OZ.js";import{ia as de}from"./chunk-5ZK3D2RS.js";import{Ab as E,Cb as te,Db as ne,E as V,Eb as p,Fb as u,Gb as ie,Jb as X,Kb as I,Kc as B,Mc as k,Ra as h,Sb as A,Tb as oe,Ub as re,Wb as O,X as H,Xb as g,Yb as L,Za as y,Zb as x,_a as q,ab as Z,ea as w,fa as N,fb as R,fc as Q,gc as se,hc as z,ic as b,kc as le,lb as v,qa as G,ra as m,sc as W,tc as ae,v as Y,vb as K,wb as ee,xb as P,yc as ce}from"./chunk-MR4RE3IB.js";import{a as $,b as j}from"./chunk-C6Q5SG76.js";var Me=["treeContainer"],ye=["formRef"],Oe=[[["label"]],[["label"]],[["input"]]],Se=["label","label","input"],Fe=(i,t)=>t.id,we=i=>({children:i,level:0}),ve=i=>({$implicit:i}),Ne=(i,t)=>({children:i,level:t});function ke(i,t){if(i&1){let e=I();p(0,"spk-button-group")(1,"button",13),O("click",function(){w(e);let s=g();return N(s.pathDiscoveryMethod.set("browse"))}),A(2,4),u(),p(3,"button",13),O("click",function(){w(e);let s=g();return N(s.pathDiscoveryMethod.set("path"))}),A(4,5),u()()}if(i&2){let e=g();h(),P("active",e.pathDiscoveryMethod()==="browse"),h(2),P("active",e.pathDiscoveryMethod()==="path")}}function Re(i,t){i&1&&ie(0,"spk-progress-bar",9)}function Ie(i,t){i&1&&(p(0,"spk-icon",16),b(1,"folder-open"),u())}function Ae(i,t){i&1&&(p(0,"spk-icon"),b(1,"file"),u())}function Le(i,t){i&1&&(p(0,"spk-icon",16),b(1,"folder"),u())}function We(i,t){if(i&1&&v(0,Ie,2,0,"spk-icon",16)(1,Ae,2,0,"spk-icon")(2,Le,2,0,"spk-icon",16),i&2){let e=g(2).$implicit;E(e.children.length?0:e.cls==="file"?1:2)}}function Be(i,t){i&1&&(p(0,"spk-icon",16),b(1,"desktop-tower"),u())}function De(i,t){i&1&&X(0)}function $e(i,t){if(i&1&&v(0,De,1,0,"ng-container",10),i&2){let e=g(2).$implicit,n=g().$implicit;g();let s=z(7);K("ngTemplateOutlet",s)("ngTemplateOutletContext",W(5,ve,ae(2,Ne,e.children,n.level+1)))}}function je(i,t){if(i&1){let e=I();p(0,"div",14,3),O("click",function(){w(e);let s=g().$implicit,o=g(2);return N(o.toggleNode(s.id,s))}),p(2,"div",15),v(3,We,3,1)(4,Be,2,0,"spk-icon",16),u(),p(5,"div",17),O("click",function(s){w(e);let o=g().$implicit,r=g(2);return N(r.toggleSelectedNode(s,o))}),b(6),u()(),v(7,$e,1,7,"ng-container")}if(i&2){let e=g().$implicit,n=g(2);P("accepted",e.accepted===!0)("active",e.evalState===n.TreeEvalEnum.Included)("indeterminate",e.isIndeterminate)("open",e.children.length)("usually-hidden",e.hidden),h(3),E(e.id!=="/"?3:4),h(3),le(" ",e.text," "),h(),E(e.children.length>0?7:-1)}}function Ve(i,t){if(i&1&&v(0,je,8,13),i&2){let e=t.$implicit,n=g(2);E(e.hidden&&n._showHiddenNodes()||!e.hidden?0:-1)}}function He(i,t){if(i&1&&(p(0,"spk-list"),te(1,Ve,1,1,null,null,Fe),u()),i&2){let e=t.$implicit;ee("padding-left",e.level*.5,"rem"),h(),ne(e.children)}}function Ge(i,t){i&1&&X(0)}function qe(i,t){if(i&1){let e=I();p(0,"spk-toggle",18),O("click",function(){w(e);let s=g();return N(s._showHiddenNodes.set(!s._showHiddenNodes()))}),A(1,6),u()}if(i&2){let e=g();P("active",e._showHiddenNodes()),h(),oe(e.showFiles()?"files":"folders"),re(1)}}var Pe=(o=>(o[o.ExcludedByParent=-2]="ExcludedByParent",o[o.Excluded=-1]="Excluded",o[o.None=0]="None",o[o.Included=1]="Included",o[o.IncludedByParent=2]="IncludedByParent",o))(Pe||{}),U=class i{#t=H(pe);#r=H(ue);multiSelect=m(!1);disabled=m(!1);showFiles=m(!1);selectFiles=m(!1);accepts=m(null);startingPath=m(null);rootPath=m(void 0);backupSettings=m(null);showHiddenNodes=m(!1);includes=G();excludes=G();_showHiddenNodes=y(!1);treeContainerRef=q("treeContainer");formRef=q("formRef");pathDiscoveryMethod=y("browse");isLoading=y(!1);currentPath=y("/");#e=y(null);treeSearchQuery=y("");treeNodes=y([]);filterGroups=this.#r.filterGroups();isByBackupSettings=B(()=>this.rootPath()&&this.backupSettings()?.id&&this.backupSettings()?.time);searchableTreeNodes=B(()=>{let t=this.treeSearchQuery();return t?this.treeNodes().filter(e=>e.text?.toLowerCase().includes(t.toLowerCase())):this.treeNodes()});TreeEvalEnum=Pe;treeStructure=B(()=>{let t=this.showHiddenNodes(),e=this.currentPath().split("\0").filter(a=>a!==""&&a!=="/"),n=structuredClone(e);for(let a=0;a<n.length;a++){let _=n[a].slice(1);if(_.startsWith("{")&&_.endsWith("}")){let f=_.slice(1,-1),d=this.filterGroups?.FilterGroups[f];if(d&&d.length){let M=d.map(T=>`-${T}`);n.splice(a,1,...M)}}}let s=this.searchableTreeNodes(),o=new Map,r=this.rootPath(),C=this.accepts(),l=r?{id:r,resolvedpath:r,text:r?.replaceAll("/",""),parentPath:"",children:[],evalState:0,isIndeterminate:!1,cls:"folder"}:{id:"/",resolvedpath:"/",text:"Computer",parentPath:"",children:[],evalState:0,isIndeterminate:!1};C&&(l.accepted=!0),o.set("/",l);for(let a of s){let _=a.id.replace(r??"","").split("/").filter(Boolean),f="",d=l;for(let M of _){if(f+="/"+M,!o.has(f)){let T=a.hidden===!0&&t?0:this.#s(n,a.id,a.cls,d),S={id:a.id,isIndeterminate:this.isIndeterminate(n,a.id),evalState:T,parentPath:f,resolvedpath:a.id?.startsWith("%")?a.resolvedpath+"/":f,hidden:a.hidden,text:a.text,cls:a.cls,children:[]};C&&(S.accepted=this.matchAccepts(C,S)),o.set(f,S),d.children.push(S)}d=o.get(f)}}return[l]});#s(t,e,n,s){if(s.evalState===-1)return-2;let o=0,r=t.filter(l=>!l.startsWith("-")&&!l.startsWith("+")),C=t.filter(l=>l.startsWith("-")||l.startsWith("+"));if(r.length===0)return o;for(let l=0;l<r.length;l++){let a=r[l];if(e?.startsWith(a)){o=1;break}}if(C.length===0)return o;for(let l=0;l<C.length;l++){let a=C[l],c=a.slice(1),_=a.startsWith("-")?"exclude":"include";if(c.startsWith("/")&&c.endsWith("/")){if(n!=="folder")continue;if(e===c){o=_==="include"?1:-1;break}}if(c.startsWith("*")&&c.endsWith("*/")){if(n!=="folder")continue;let d=c.slice(1,-2);if(d==="")break;if(e?.includes(d+"/")){o=_==="include"?1:-1;break}}if(c.startsWith("[.*")&&c.endsWith("[^\\/]*]")){if(n!=="file")continue;let d=c.slice(3,-7);if(new RegExp(d).test(e)){o=_==="include"?1:-1;break}}if(c.startsWith("[")&&c.endsWith("]")){let d=c.slice(1,-1),M=this.translateCSharpRegex(d);if(new RegExp(`${M}`).test(e)){o=_==="include"?1:-1;break}}if(c.startsWith("*.")){if(n!=="file"||c.replace("*.","").length===0)continue;if(this.#n(e,c,!0)){o=_==="include"?1:-1;break}}if(c==="")continue;if(this.#n(e,c,!0)){o=_==="include"?1:-1;break}}return o}translateCSharpRegex(t){let e=t;e=e.replace(/^@/,"");let n=/\(\?<(?<name>\w+)>(?<pattern>[^)]+)\)/g;return e=e.replace(n,(s,o,r)=>`(${r})`),e=e.replace(/\\/g,"\\\\"),e}isIndeterminate(t,e){return t.some(n=>n.startsWith(e))}#n(t,e,n=!1){let s=e.replace(/\*/g,".*").replace(/\?/g,".").replace(/\[!([^\]]+)\]/g,"[^$1]");return new RegExp(`${s}${n?"$":""}`).test(t)}showHiddenNodesEffect=k(()=>this._showHiddenNodes.set(this.showHiddenNodes()));pathDiscoveryMethodEffect=k(()=>{let t=this.pathDiscoveryMethod(),e=this.#e();t==="browse"&&e&&this.currentPath.set(e.value)});matchAccepts(t,e){if(!t||e.cls==="folder"||e.id==="/")return!0;let n=t.split(",");if(n.length===0)return!0;let s="."+e.id.slice(e.id.indexOf("."));return s?n.some(o=>s.endsWith(o)):!1}currentPathEffect=k(()=>{let t=this.#e();t&&(t.value=this.currentPath(),t.dispatchEvent(new Event("input")))});inputValueChangeAbortController=null;inputRefEffect=k(()=>{let t=this.formRef()?.nativeElement?.querySelector("input");t&&(this.#l(t),this.inputValueChangeAbortController&&this.inputValueChangeAbortController.abort(),this.inputValueChangeAbortController=new AbortController,t.addEventListener("inputValueChanged",e=>{this.currentPath.set(e.detail.value)},{signal:this.inputValueChangeAbortController.signal}),this.#e.set(t),t.autocomplete="off")});ngOnInit(){let t=this.startingPath();t?(this.currentPath.set(t),this.#d(t)):this.#o(null,this.rootPath())}toggleSelectedNode(t,e){if(e.id==="/"||(t.stopPropagation(),e.evalState===-2))return;if(this.selectFiles()&&e.cls==="folder"){this.toggleNode(e.id,e);return}if(this.accepts()&&!e.accepted)return;let s=this.currentPath().split("\0").filter(r=>r!==""&&r!=="/"),o=this.isChildOfSelected(e)?`-${e.id}`:e.id;this.multiSelect()?s.includes(e.id)?this.currentPath.set(s.filter(r=>r!==e.id).join("\0")):s.some(r=>r.startsWith(o))?this.currentPath.set(s.filter(r=>r!==o).join("\0")):this.currentPath.set([...s,o].join("\0")):s.includes(e.id)?this.currentPath.set(s.filter(r=>r!==e.id).join("\0")):this.currentPath.set(e.id)}isChildOfSelected(t){return this.currentPath().split("\0").filter(n=>n!==""&&n!=="/").some(n=>t.id?.startsWith(n)||`-${t.id}`.startsWith(n))}toggleNode(t,e=null){e?.cls==="folder"&&(e?.children.length?this.treeNodes.update(n=>n.filter(s=>!s.id?.startsWith(e.id)||s.id===e.id)):this.#o(e,t))}#l(t){return Object.defineProperty(t,"value",{configurable:!0,get(){return Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value").get.call(this)},set(e){return Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value").set.call(this,e),this.dispatchEvent(new CustomEvent("inputValueChanged",{bubbles:!0,cancelable:!0,detail:{value:e}})),e}}),t}#a(t){return this.#t.postApiV1Filesystem({showHidden:!0,requestBody:{path:t},onlyFolders:!this.showFiles()})}#c(t){let e=this.backupSettings(),n={id:e.id,time:e.time,prefixOnly:!1,folderContents:!0};return t&&(n.filter="@"+t),this.#t.getApiV1BackupByIdFiles(n)}#i(t){return this.isByBackupSettings()?this.#c(t):this.#a(t)}#d(t){let e=t.split("\0").filter(r=>r.startsWith("-")).map(r=>r.slice(1,-1)),n=t.split("\0").filter(r=>!r.startsWith("-")).filter(Boolean),s=n.map(r=>r.split("/").filter(Boolean)),o=[this.rootPath()??"/"];s.forEach(r=>{r.forEach((C,l)=>{let a=r.slice(0,l+1).join("/"),c=a.startsWith("%")?a:"/"+a;o.includes(c)||o.push(c)})}),this.isLoading.set(!0),Y([...o.map(r=>this.#i(r))]).pipe(V(()=>this.isLoading.set(!1))).subscribe({next:r=>{this.treeNodes.update(C=>{let l=r.flatMap(c=>c.map(_=>{let f=_.id,d=f&&f.split("/").filter(Boolean).slice(0,-1).join("/"),T="/"+(f&&f.split("/").filter(Boolean).join("/")),S=n.findIndex(F=>this.multiSelect()?T.startsWith(F):T===F)>-1,Ee=n.findIndex(F=>F===f)>-1,Te=e.findIndex(F=>F===T)>-1;return j($({},_),{parentPath:d.startsWith("%")?d:"/"+d,isSelected:S&&!Te||Ee})}));return[...new Map([...C,...l].map(c=>[c.resolvedpath??c.id,c])).values()]})}})}#o(t=null,e="/"){this.isLoading.set(!0),this.#i(e).pipe(V(()=>this.isLoading.set(!1))).subscribe({next:n=>{let s=this.isByBackupSettings()?n.Files.map(o=>({text:o.Path.split("/").filter(r=>r!=="").pop(),id:o.Path,cls:o.Path.endsWith("/")?"folder":"file",leaf:t!==null,resolvedpath:o.Path,hidden:!1})):n;this.treeNodes.update(o=>{let r=s.map(l=>{let a=l.id.startsWith("%")&&l.id.endsWith("%")||l.id.endsWith("/")?"folder":"file";return j($({},l),{cls:a,parentPath:e})});return[...new Map([...o,...r].map(l=>[l.resolvedpath??l.id,l])).values()]})}})}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=R({type:i,selectors:[["app-file-tree"]],viewQuery:function(e,n){e&1&&(Q(n.treeContainerRef,Me,5),Q(n.formRef,ye,5)),e&2&&se(2)},hostVars:2,hostBindings:function(e,n){e&2&&P("disabled",n.disabled())},inputs:{multiSelect:[1,"multiSelect"],disabled:[1,"disabled"],showFiles:[1,"showFiles"],selectFiles:[1,"selectFiles"],accepts:[1,"accepts"],startingPath:[1,"startingPath"],rootPath:[1,"rootPath"],backupSettings:[1,"backupSettings"],showHiddenNodes:[1,"showHiddenNodes"]},outputs:{includes:"includes",excludes:"excludes"},ngContentSelectors:Se,decls:15,vars:15,consts:()=>{let t;t=$localize` Browser path `;let e;e=$localize` Manually type path `;let n;return n=$localize` Show hidden ${"\uFFFD0\uFFFD"}:INTERPOLATION: `,[["treeContainer",""],["recursiveTree",""],["formRef",""],["treeNode",""],t,e,n,[1,"section"],[1,"browse-files"],[1,"indeterminate","primary"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"primary","raised","browse-files-toggle",3,"active"],[1,"form-field"],["type","button",3,"click"],["action","",3,"click"],[1,"icon"],[1,"spk-primary"],[1,"text",3,"click"],[1,"primary","raised","browse-files-toggle",3,"click"]]},template:function(e,n){if(e&1&&(L(Oe),v(0,ke,5,4,"spk-button-group"),p(1,"div",7),x(2,0,["ngProjectAs","label",5,["label"]]),p(3,"div",8,0),v(5,Re,1,0,"spk-progress-bar",9)(6,He,3,2,"ng-template",null,1,ce)(8,Ge,1,0,"ng-container",10),u(),v(9,qe,2,3,"spk-toggle",11),u(),p(10,"div",12,2)(12,"spk-form-field"),x(13,1,["ngProjectAs","label",5,["label"]]),x(14,2,["ngProjectAs","input",5,["input"]]),u()()),e&2){let s=z(7);E(n.multiSelect()?-1:0),h(),P("hidden",n.pathDiscoveryMethod()!=="browse"),h(2),P("visualize-accepted",n.accepts()),h(2),E(n.isLoading()?5:-1),h(3),K("ngTemplateOutlet",s)("ngTemplateOutletContext",W(13,ve,W(11,we,n.treeStructure()))),h(),E(n.accepts()?-1:9),h(),P("hidden",n.pathDiscoveryMethod()!=="path")}},dependencies:[he,Ce,D,_e,fe,me,de,ge],styles:['[_nghost-%COMP%]{display:flex;flex-direction:column;gap:1rem}.disabled[_nghost-%COMP%]{opacity:.5;-webkit-user-select:none;user-select:none;pointer-events:none;position:relative}.disabled[_nghost-%COMP%]:before{content:"";position:absolute;inset:0;background:transparent}.fill[_nghost-%COMP%]{height:auto;overflow:hidden;flex:1 0}.fill[_nghost-%COMP%] .section[_ngcontent-%COMP%]{height:auto;overflow:hidden;flex:1 0;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;grid-template-areas:"label toggle" "tree tree"}.fill[_nghost-%COMP%] .browse-files[_ngcontent-%COMP%]{resize:none;height:initial;grid-area:tree}.fill[_nghost-%COMP%] label[_ngcontent-%COMP%]{grid-area:label}.fill[_nghost-%COMP%] spk-toggle[_ngcontent-%COMP%]{grid-area:toggle;flex-direction:row-reverse}.section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.form-field.hidden[_ngcontent-%COMP%]{display:none}.browse-files[_ngcontent-%COMP%]{display:flex;gap:.5rem;padding:.5rem 1rem;height:12.5rem;border:1px solid var(--base-level-40);border-radius:var(--shape-3);overflow:auto;resize:vertical;background:var(--base-level-10);position:relative}.browse-files[_ngcontent-%COMP%] spk-progress-bar[_ngcontent-%COMP%]{position:absolute;top:0;left:0;right:0}.browse-files.visualize-accepted[_ngcontent-%COMP%] [action][_ngcontent-%COMP%]:not(.accepted){opacity:.5}.browse-files.visualize-accepted[_ngcontent-%COMP%] [action].accepted[_ngcontent-%COMP%]{opacity:1}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%]{--list-active-bg: var(--base-level-30);gap:.125rem;padding:0;height:min-content;min-width:min-content}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%]{padding:0;gap:.25rem;border:1px solid transparent}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action].active[_ngcontent-%COMP%]{border-color:var(--base-level-40)}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action].indeterminate[_ngcontent-%COMP%]{border-color:var(--primary-level-40)}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action].usually-hidden[_ngcontent-%COMP%]{opacity:.6}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{flex:1 0;height:100%;width:max-content;display:flex;align-items:center}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer}.browse-files-toggle[_ngcontent-%COMP%]{color:var(--base-level-60R)}.hidden[_ngcontent-%COMP%]{display:none}'],changeDetection:0})};var Ke=[[["","title",""]],[["","description",""]],[["","action",""]],"*"],Xe=["[title]","[description]","[action]","*"];function Qe(i,t){i&1&&b(0,"Title")}function ze(i,t){i&1&&(p(0,"spk-icon"),b(1,"caret-down"),u())}var J=class i{isActive=Z(!1);disallowToggle=m(!1);ngOnInit(){this.disallowToggle()&&this.isActive.set(!0)}toggle(){this.isActive.set(!this.isActive())}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=R({type:i,selectors:[["app-toggle-card"]],hostVars:2,hostBindings:function(e,n){e&2&&P("active",n.isActive())},inputs:{isActive:[1,"isActive"],disallowToggle:[1,"disallowToggle"]},outputs:{isActive:"isActiveChange"},ngContentSelectors:Xe,decls:11,vars:1,consts:[[1,"title"],[3,"click"],[1,"actions"],[1,"content"]],template:function(e,n){e&1&&(L(Ke),p(0,"header")(1,"div",0)(2,"h3",1),O("click",function(){return n.disallowToggle()||n.toggle()}),x(3,0,null,Qe,1,0),v(5,ze,2,0,"spk-icon"),u(),x(6,1),u(),p(7,"div",2),x(8,2),u()(),p(9,"div",3),x(10,3),u()),e&2&&(h(5),E(n.disallowToggle()?-1:5))},dependencies:[D],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;border-radius:var(--shape-3);background-color:var(--base-level-20)}.active[_nghost-%COMP%] .content[_ngcontent-%COMP%]{max-height:1000px;transition:max-height 1s linear;padding:0 1rem 1rem}.active[_nghost-%COMP%] spk-icon[_ngcontent-%COMP%]{transform:rotate(180deg)}[_nghost-%COMP%] h3[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;font:var(--paragraph-10);cursor:pointer;-webkit-user-select:none;user-select:none}[_nghost-%COMP%] spk-icon[_ngcontent-%COMP%]{transform:rotate(0);transform-origin:center;transition:transform .2s ease}header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem}header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;flex:1 0}header[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]:empty{display:none}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem;padding:0 1rem;overflow:hidden;max-height:0;transition:max-height .25s linear,padding .25s linear}.content[_ngcontent-%COMP%]:empty{display:none}"],changeDetection:0})};export{U as a,J as b};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as I}from"./chunk-27GCJTV5.js";import{n as g}from"./chunk-
|
|
1
|
+
import{a as I}from"./chunk-27GCJTV5.js";import{n as g}from"./chunk-45JBSR2F.js";import"./chunk-WWJ757LM.js";import"./chunk-DNHLTHLR.js";import"./chunk-3NZI2UZ4.js";import{b as k}from"./chunk-KFGIVU27.js";import{a as N}from"./chunk-EUZXGGH4.js";import"./chunk-7TWD5GBS.js";import{n as $,o as M,s as b}from"./chunk-ED3PEZLO.js";import{a as O}from"./chunk-AKLJ23OZ.js";import{H as P,L as h,Y as E,Z as B}from"./chunk-J3H4BCHI.js";import"./chunk-P6LV5I2K.js";import"./chunk-5XX7BU4I.js";import"./chunk-OVIL3KMN.js";import"./chunk-5ZK3D2RS.js";import{Ab as D,B as m,Eb as s,Fb as p,Gb as n,Mc as A,Qb as d,Ra as r,Rb as c,X as F,fb as f,lb as C,qc as R,tc as _,vb as u}from"./chunk-MR4RE3IB.js";import"./chunk-C6Q5SG76.js";var K=(i,e)=>[i,e,"general"],L=(i,e)=>[i,e,"destination"],v=(i,e)=>[i,e,"source-data"],G=(i,e)=>[i,e,"schedule"],y=(i,e)=>[i,e,"options"];function U(i,e){i&1&&n(0,"spk-progress-bar",6)}function X(i,e){i&1&&(s(0,"section"),n(1,"router-outlet"),p())}var T=class i{#t=F(P);#e=F(g);#a=F(N);#i=F(O);isDraft=this.#e.isDraft;backupId=this.#e.backupId;finishedLoading=this.#e.finishedLoading;#o=k(this.#t.params);#n=k(this.#t.url);paramsChanged=A(()=>{let e=this.#o()?.id,a=!!this.#n()?.find(t=>t.path==="backup-draft");this.#e.backupId.set(e),e!=="new"?this.getBackup(e,a):this.getDefaults()});getDefaults(){this.#i.getApiV1Backupdefaults().pipe(m(1)).subscribe({next:e=>{this.#e.mapScheduleToForm(e.Schedule),this.#e.mapOptionsToForms(e.Backup),this.#e.backupDefaults.set(e),this.#e.finishedLoading.set(!0)}})}getBackup(e,a=!1){let t=o=>{this.#e.mapScheduleToForm(o.Schedule??null),o.Backup&&(this.#e.mapGeneralToForm(o.Backup),this.#e.mapDestinationToForm(o.Backup),this.#e.mapSourceDataToForm(o.Backup),this.#e.mapOptionsToForms(o.Backup)),this.#e.finishedLoading.set(!0)};if(a){this.isDraft.set(a);let o=this.#a.draftBackups().find(l=>l.id===e);if(!o){alert("Backup not found");return}t(o.data)}else this.#i.getApiV1BackupById({id:e}).subscribe({next:t})}static \u0275fac=function(a){return new(a||i)};static \u0275cmp=f({type:i,selectors:[["app-backup"]],features:[R([g])],decls:20,vars:21,consts:()=>{let e;e=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_RADIO: General `;let a;a=$localize`${"\uFFFD#8\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#8\uFFFD"}:CLOSE_TAG_SPK_RADIO: Destination `;let t;t=$localize`${"\uFFFD#11\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#11\uFFFD"}:CLOSE_TAG_SPK_RADIO: Source Data `;let o;o=$localize`${"\uFFFD#14\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#14\uFFFD"}:CLOSE_TAG_SPK_RADIO: Schedule `;let l;return l=$localize`${"\uFFFD#17\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#17\uFFFD"}:CLOSE_TAG_SPK_RADIO: Options `,[e,a,t,o,l,["step","","routerLinkActive","active",3,"routerLink"],[1,"indeterminate","primary"]]},template:function(a,t){a&1&&(n(0,"app-status-bar"),s(1,"header")(2,"spk-stepper")(3,"div",5),d(4,0),n(5,"spk-radio"),c(),p(),s(6,"div",5),d(7,1),n(8,"spk-radio"),c(),p(),s(9,"div",5),d(10,2),n(11,"spk-radio"),c(),p(),s(12,"div",5),d(13,3),n(14,"spk-radio"),c(),p(),s(15,"div",5),d(16,4),n(17,"spk-radio"),c(),p()()(),C(18,U,1,0,"spk-progress-bar",6)(19,X,2,0,"section")),a&2&&(r(3),u("routerLink",_(6,K,t.isDraft()?"/backup-draft":"/backup",t.backupId())),r(3),u("routerLink",_(9,L,t.isDraft()?"/backup-draft":"/backup",t.backupId())),r(3),u("routerLink",_(12,v,t.isDraft()?"/backup-draft":"/backup",t.backupId())),r(3),u("routerLink",_(15,G,t.isDraft()?"/backup-draft":"/backup",t.backupId())),r(3),u("routerLink",_(18,y,t.isDraft()?"/backup-draft":"/backup",t.backupId())),r(3),D(t.finishedLoading()?19:18))},dependencies:[h,E,B,I,M,b,$],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;height:100%}header[_ngcontent-%COMP%]{padding:1rem 1.5rem;border-bottom:1px solid var(--base-level-40)}header[_ngcontent-%COMP%] spk-stepper[_ngcontent-%COMP%]{width:100%}section[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:center;flex:1 0;overflow:hidden}"],changeDetection:0})};export{T as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as a,h as b,i as c}from"./chunk-
|
|
1
|
+
import{g as a,h as b,i as c}from"./chunk-45JBSR2F.js";import"./chunk-WWJ757LM.js";import"./chunk-DNHLTHLR.js";import"./chunk-3NZI2UZ4.js";import"./chunk-KFGIVU27.js";import"./chunk-7TWD5GBS.js";import"./chunk-ED3PEZLO.js";import"./chunk-AKLJ23OZ.js";import"./chunk-J3H4BCHI.js";import"./chunk-P6LV5I2K.js";import"./chunk-5XX7BU4I.js";import"./chunk-5ZK3D2RS.js";import"./chunk-MR4RE3IB.js";import"./chunk-C6Q5SG76.js";export{b as createAdvancedOption,a as createOptionsForm,c as default};
|
package/index.html
CHANGED
|
@@ -20,5 +20,5 @@
|
|
|
20
20
|
<style>:root{--font-size:16px;font-size:var(--font-size)}html body{--sparkle-light:initial;--sparkle-dark: ;color-scheme:light dark;--primary-50:#eff6ff;--primary-rgb-50:239,246,255;--primary-contrast-50:var(--dark-primary-text);--primary-100:#dbeafe;--primary-rgb-100:219,234,254;--primary-contrast-100:var(--dark-primary-text);--primary-200:#bfdbfe;--primary-rgb-200:191,219,254;--primary-contrast-200:var(--dark-primary-text);--primary-300:#93c5fd;--primary-rgb-300:147,197,253;--primary-contrast-300:var(--dark-primary-text);--primary-400:#60a5fa;--primary-rgb-400:96,165,250;--primary-contrast-400:var(--dark-primary-text);--primary-500:#3b82f6;--primary-rgb-500:59,130,246;--primary-contrast-500:var(--light-primary-text);--primary-600:#2563eb;--primary-rgb-600:37,99,235;--primary-contrast-600:var(--light-primary-text);--primary-700:#1d4ed8;--primary-rgb-700:29,78,216;--primary-contrast-700:var(--light-primary-text);--primary-800:#1e40af;--primary-rgb-800:30,64,175;--primary-contrast-800:var(--light-primary-text);--primary-900:#1e3a8a;--primary-rgb-900:30,58,138;--primary-contrast-900:var(--light-primary-text);--primary-950:#172554;--primary-rgb-950:23,37,84;--primary-contrast-950:var(--light-primary-text);--accent-50:#f5f3ff;--accent-rgb-50:245,243,255;--accent-contrast-50:var(--dark-primary-text);--accent-100:#ede9fe;--accent-rgb-100:237,233,254;--accent-contrast-100:var(--dark-primary-text);--accent-200:#ddd6fe;--accent-rgb-200:221,214,254;--accent-contrast-200:var(--dark-primary-text);--accent-300:#c4b5fd;--accent-rgb-300:196,181,253;--accent-contrast-300:var(--dark-primary-text);--accent-400:#a78bfa;--accent-rgb-400:167,139,250;--accent-contrast-400:var(--dark-primary-text);--accent-500:#8b5cf6;--accent-rgb-500:139,92,246;--accent-contrast-500:var(--light-primary-text);--accent-600:#7c3aed;--accent-rgb-600:124,58,237;--accent-contrast-600:var(--light-primary-text);--accent-700:#6d28d9;--accent-rgb-700:109,40,217;--accent-contrast-700:var(--light-primary-text);--accent-800:#5b21b6;--accent-rgb-800:91,33,182;--accent-contrast-800:var(--light-primary-text);--accent-900:#4c1d95;--accent-rgb-900:76,29,149;--accent-contrast-900:var(--light-primary-text);--accent-950:#2e1065;--accent-rgb-950:46,16,101;--accent-contrast-950:var(--light-primary-text);--tertiary-50:#fffbeb;--tertiary-rgb-50:255,251,235;--tertiary-contrast-50:var(--dark-primary-text);--tertiary-100:#fef3c7;--tertiary-rgb-100:254,243,199;--tertiary-contrast-100:var(--dark-primary-text);--tertiary-200:#fde68a;--tertiary-rgb-200:253,230,138;--tertiary-contrast-200:var(--dark-primary-text);--tertiary-300:#fcd34d;--tertiary-rgb-300:252,211,77;--tertiary-contrast-300:var(--dark-primary-text);--tertiary-400:#fbbf24;--tertiary-rgb-400:251,191,36;--tertiary-contrast-400:var(--light-primary-text);--tertiary-500:#f59e0b;--tertiary-rgb-500:245,158,11;--tertiary-contrast-500:var(--light-primary-text);--tertiary-600:#d97706;--tertiary-rgb-600:217,119,6;--tertiary-contrast-600:var(--light-primary-text);--tertiary-700:#b45309;--tertiary-rgb-700:180,83,9;--tertiary-contrast-700:var(--light-primary-text);--tertiary-800:#92400e;--tertiary-rgb-800:146,64,14;--tertiary-contrast-800:var(--light-primary-text);--tertiary-900:#78350f;--tertiary-rgb-900:120,53,15;--tertiary-contrast-900:var(--light-primary-text);--tertiary-950:#451a03;--tertiary-rgb-950:69,26,3;--tertiary-contrast-950:var(--light-primary-text);--grey-50:#fafafa;--grey-rgb-50:250,250,250;--grey-contrast-50:var(--dark-primary-text);--grey-100:#f4f4f5;--grey-rgb-100:244,244,245;--grey-contrast-100:var(--dark-primary-text);--grey-200:#e4e4e7;--grey-rgb-200:228,228,231;--grey-contrast-200:var(--dark-primary-text);--grey-300:#d4d4d8;--grey-rgb-300:212,212,216;--grey-contrast-300:var(--dark-primary-text);--grey-400:#a1a1aa;--grey-rgb-400:161,161,170;--grey-contrast-400:var(--dark-primary-text);--grey-500:#71717a;--grey-rgb-500:113,113,122;--grey-contrast-500:var(--light-primary-text);--grey-600:#52525b;--grey-rgb-600:82,82,91;--grey-contrast-600:var(--light-primary-text);--grey-700:#3f3f46;--grey-rgb-700:63,63,70;--grey-contrast-700:var(--light-primary-text);--grey-750:#2f2f31;--grey-rgb-750:47,47,49;--grey-contrast-750:var(--light-primary-text);--grey-800:#27272a;--grey-rgb-800:39,39,42;--grey-contrast-800:var(--light-primary-text);--grey-900:#18181b;--grey-rgb-900:24,24,27;--grey-contrast-900:var(--light-primary-text);--grey-950:#09090b;--grey-rgb-950:9,9,11;--grey-contrast-950:var(--light-primary-text);--warn-50:#fef2f2;--warn-rgb-50:254,242,242;--warn-contrast-50:var(--dark-primary-text);--warn-100:#fee2e2;--warn-rgb-100:254,226,226;--warn-contrast-100:var(--dark-primary-text);--warn-200:#fecaca;--warn-rgb-200:254,202,202;--warn-contrast-200:var(--dark-primary-text);--warn-300:#fca5a5;--warn-rgb-300:252,165,165;--warn-contrast-300:var(--dark-primary-text);--warn-400:#f87171;--warn-rgb-400:248,113,113;--warn-contrast-400:var(--light-primary-text);--warn-500:#ef4444;--warn-rgb-500:239,68,68;--warn-contrast-500:var(--light-primary-text);--warn-600:#dc2626;--warn-rgb-600:220,38,38;--warn-contrast-600:var(--light-primary-text);--warn-700:#b91c1c;--warn-rgb-700:185,28,28;--warn-contrast-700:var(--light-primary-text);--warn-800:#991b1b;--warn-rgb-800:153,27,27;--warn-contrast-800:var(--light-primary-text);--warn-900:#7f1d1d;--warn-rgb-900:127,29,29;--warn-contrast-900:var(--light-primary-text);--warn-950:#450a0a;--warn-rgb-950:69,10,10;--warn-contrast-950:var(--light-primary-text);--success-50:#ecfdf5;--success-rgb-50:236,253,245;--success-contrast-50:var(--dark-primary-text);--success-100:#d1fae5;--success-rgb-100:209,250,229;--success-contrast-100:var(--dark-primary-text);--success-200:#a7f3d0;--success-rgb-200:167,243,208;--success-contrast-200:var(--dark-primary-text);--success-300:#6ee7b7;--success-rgb-300:110,231,183;--success-contrast-300:var(--dark-primary-text);--success-400:#34d399;--success-rgb-400:52,211,153;--success-contrast-400:var(--light-primary-text);--success-500:#10b981;--success-rgb-500:16,185,129;--success-contrast-500:var(--light-primary-text);--success-600:#059669;--success-rgb-600:5,150,105;--success-contrast-600:var(--light-primary-text);--success-700:#047857;--success-rgb-700:4,120,87;--success-contrast-700:var(--light-primary-text);--success-800:#065f46;--success-rgb-800:6,95,70;--success-contrast-800:var(--light-primary-text);--success-900:#064e3b;--success-rgb-900:6,78,59;--success-contrast-900:var(--light-primary-text);--success-950:#022c22;--success-rgb-950:2,44,34;--success-contrast-950:var(--light-primary-text);--display-10:600 5rem / normal Inter Tight, sans-serif;--display-20:600 4.5rem / normal Inter Tight, sans-serif;--display-30:600 4rem / normal Inter Tight, sans-serif;--display-40:600 3.5rem / normal Inter Tight, sans-serif;--display-50:600 3rem / normal Inter Tight, sans-serif;--title-10:500 2.5rem / normal Inter Tight, sans-serif;--title-20:500 2rem / normal Inter Tight, sans-serif;--title-30:500 1.5rem / normal Inter Tight, sans-serif;--title-10B:600 2.5rem / normal Inter Tight, sans-serif;--title-20B:600 2rem / normal Inter Tight, sans-serif;--title-30B:600 1.5rem / normal Inter Tight, sans-serif;--paragraph-10:500 1.125rem / normal Inter Tight, sans-serif;--paragraph-20:500 1rem / normal Inter Tight, sans-serif;--paragraph-30:500 .875rem / normal Inter Tight, sans-serif;--paragraph-40:500 .75rem / normal Inter Tight, sans-serif;--paragraph-10B:600 1.125rem / normal Inter Tight, sans-serif;--paragraph-20B:600 1rem / normal Inter Tight, sans-serif;--paragraph-30B:600 .875rem / normal Inter Tight, sans-serif;--paragraph-40B:600 .75rem / normal Inter Tight, sans-serif;--shape-1:.25rem;--shape-2:.5rem;--shape-3:.75rem;--shape-4:1rem;--shape-5:1.25rem;--box-shadow-10:0 1px 2px 0 rgba(18, 18, 23, .07);--box-shadow-20:0 1px 3px 0 rgba(18, 18, 23, .1);--box-shadow-30:0 1px 4px -1px rgba(18, 18, 23, .08);--box-shadow-35:0 4px 6px -1px rgba(18, 18, 23, .08);--box-shadow-40:0 10px 15px -3px rgba(18, 18, 23, .08);--box-shadow-50:0 20px 25px -5px rgba(18, 18, 23, .1);--box-shadow-60:0 25px 50px -12px rgba(18, 18, 23, .25);--base-level-10:var(--sparkle-light, #fff) var(--sparkle-dark, var(--grey-950));--base-level-20:var(--sparkle-light, var(--grey-50)) var(--sparkle-dark, var(--grey-900));--base-level-30:var(--sparkle-light, var(--grey-100)) var(--sparkle-dark, var(--grey-900));--base-level-30R:var(--sparkle-light, var(--grey-900)) var(--sparkle-dark, var(--grey-100));--base-level-40:var(--sparkle-light, var(--grey-200)) var(--sparkle-dark, var(--grey-700));--base-level-50:var(--sparkle-light, var(--grey-300)) var(--sparkle-dark, var(--grey-800));--base-level-60:var(--sparkle-light, var(--grey-500)) var(--sparkle-dark, var(--grey-400));--base-level-60R:var(--sparkle-light, var(--grey-400)) var(--sparkle-dark, var(--grey-500));--base-level-70:var(--sparkle-light, var(--grey-900)) var(--sparkle-dark, #fff);--base-level-70R:var(--sparkle-light, #fff) var(--sparkle-dark, var(--grey-900));--base-gradient-20:linear-gradient(180deg, var(--grey-400) 0%, var(--grey-500) 50%);--base-gradient-30:linear-gradient(180deg, var(--grey-300) 0%, var(--grey-500) 50%);--base-gradient-60:linear-gradient(180deg, var(--grey-700) 0%, var(--grey-900) 50%);--base-gradient-70:linear-gradient(180deg, var(--grey-600) 0%, var(--grey-900) 50%);--primary-level-20:var(--sparkle-light, var(--primary-50)) var(--sparkle-dark, var(--primary-950));--primary-level-30:var(--sparkle-light, var(--primary-100)) var(--sparkle-dark, var(--primary-900));--primary-level-40:var(--sparkle-light, var(--primary-200)) var(--sparkle-dark, var(--primary-800));--primary-level-50:var(--sparkle-light, var(--primary-300)) var(--sparkle-dark, var(--primary-800));--primary-level-50R:var(--sparkle-light, var(--primary-800)) var(--sparkle-dark, var(--primary-300));--primary-level-80:var(--sparkle-light, var(--primary-900)) var(--sparkle-dark, var(--primary-300));--primary-gradient-20:linear-gradient(180deg, var(--primary-400) 0%, var(--primary-500) 50%);--primary-gradient-30:linear-gradient(180deg, var(--primary-300) 0%, var(--primary-500) 50%);--accent-level-20:var(--sparkle-light, var(--accent-50)) var(--sparkle-dark, var(--accent-950));--accent-level-30:var(--sparkle-light, var(--accent-100)) var(--sparkle-dark, var(--accent-900));--accent-level-40:var(--sparkle-light, var(--accent-200)) var(--sparkle-dark, var(--accent-800));--accent-level-50:var(--sparkle-light, var(--accent-300)) var(--sparkle-dark, var(--accent-800));--accent-level-50R:var(--sparkle-light, var(--accent-800)) var(--sparkle-dark, var(--accent-300));--accent-level-80:var(--sparkle-light, var(--accent-900)) var(--sparkle-dark, var(--accent-300));--accent-gradient-20:linear-gradient(180deg, var(--accent-400) 0%, var(--accent-500) 50%);--accent-gradient-30:linear-gradient(180deg, var(--accent-300) 0%, var(--accent-500) 50%);--tertiary-level-20:var(--sparkle-light, var(--tertiary-50)) var(--sparkle-dark, var(--tertiary-950));--tertiary-level-30:var(--sparkle-light, var(--tertiary-100)) var(--sparkle-dark, var(--tertiary-900));--tertiary-level-40:var(--sparkle-light, var(--tertiary-200)) var(--sparkle-dark, var(--tertiary-800));--tertiary-level-50:var(--sparkle-light, var(--tertiary-300)) var(--sparkle-dark, var(--tertiary-800));--tertiary-level-50R:var(--sparkle-light, var(--tertiary-800)) var(--sparkle-dark, var(--tertiary-300));--tertiary-level-80:var(--sparkle-light, var(--tertiary-900)) var(--sparkle-dark, var(--tertiary-300));--tertiary-gradient-20:linear-gradient(180deg, var(--tertiary-400) 0%, var(--tertiary-500) 50%);--tertiary-gradient-30:linear-gradient(180deg, var(--tertiary-300) 0%, var(--tertiary-500) 50%);--warn-level-20:var(--sparkle-light, var(--warn-50)) var(--sparkle-dark, var(--warn-950));--warn-level-30:var(--sparkle-light, var(--warn-100)) var(--sparkle-dark, var(--warn-900));--warn-level-40:var(--sparkle-light, var(--warn-200)) var(--sparkle-dark, var(--warn-800));--warn-level-50:var(--sparkle-light, var(--warn-300)) var(--sparkle-dark, var(--warn-800));--warn-level-50R:var(--sparkle-light, var(--warn-800)) var(--sparkle-dark, var(--warn-300));--warn-level-80:var(--sparkle-light, var(--warn-900)) var(--sparkle-dark, var(--warn-300));--warn-gradient-20:linear-gradient(180deg, var(--warn-400) 0%, var(--warn-500) 50%);--warn-gradient-30:linear-gradient(180deg, var(--warn-300) 0%, var(--warn-500) 50%);--success-level-20:var(--sparkle-light, var(--success-50)) var(--sparkle-dark, var(--success-950));--success-level-30:var(--sparkle-light, var(--success-100)) var(--sparkle-dark, var(--success-900));--success-level-40:var(--sparkle-light, var(--success-200)) var(--sparkle-dark, var(--success-800));--success-level-50:var(--sparkle-light, var(--success-300)) var(--sparkle-dark, var(--success-800));--success-level-50R:var(--sparkle-light, var(--success-800)) var(--sparkle-dark, var(--success-300));--success-level-80:var(--sparkle-light, var(--success-900)) var(--sparkle-dark, var(--success-300));--success-gradient-20:linear-gradient(180deg, var(--success-400) 0%, var(--success-500) 50%);--success-gradient-30:linear-gradient(180deg, var(--success-300) 0%, var(--success-500) 50%);--dark-primary-text:var(--grey-900);--light-primary-text:#fff}*{box-sizing:border-box}html,body,app-root{width:100vw;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--base-level-20)}body{margin:0;font:var(--paragraph-30);color:var(--base-level-70)}</style><link rel="stylesheet" href="styles-DO5TEHSB.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles-DO5TEHSB.css"></noscript></head>
|
|
21
21
|
<body>
|
|
22
22
|
<app-root></app-root>
|
|
23
|
-
<link rel="modulepreload" href="chunk-N35HGIXN.js"><link rel="modulepreload" href="chunk-3NZI2UZ4.js"><link rel="modulepreload" href="chunk-KFGIVU27.js"><link rel="modulepreload" href="chunk-KL64745B.js"><link rel="modulepreload" href="chunk-6M3MNJ52.js"><link rel="modulepreload" href="chunk-ED3PEZLO.js"><link rel="modulepreload" href="chunk-AKLJ23OZ.js"><link rel="modulepreload" href="chunk-J3H4BCHI.js"><link rel="modulepreload" href="chunk-P6LV5I2K.js"><link rel="modulepreload" href="chunk-5XX7BU4I.js"><script src="polyfills-DUGKNACR.js" type="module"></script><script src="main-
|
|
23
|
+
<link rel="modulepreload" href="chunk-N35HGIXN.js"><link rel="modulepreload" href="chunk-3NZI2UZ4.js"><link rel="modulepreload" href="chunk-KFGIVU27.js"><link rel="modulepreload" href="chunk-KL64745B.js"><link rel="modulepreload" href="chunk-6M3MNJ52.js"><link rel="modulepreload" href="chunk-ED3PEZLO.js"><link rel="modulepreload" href="chunk-AKLJ23OZ.js"><link rel="modulepreload" href="chunk-J3H4BCHI.js"><link rel="modulepreload" href="chunk-P6LV5I2K.js"><link rel="modulepreload" href="chunk-5XX7BU4I.js"><script src="polyfills-DUGKNACR.js" type="module"></script><script src="main-VLMX3T2V.js" type="module"></script></body>
|
|
24
24
|
</html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as se,c as ie}from"./chunk-N35HGIXN.js";import{a as L}from"./chunk-3NZI2UZ4.js";import"./chunk-KFGIVU27.js";import{a as T}from"./chunk-KL64745B.js";import{a as v}from"./chunk-6M3MNJ52.js";import{c as ne}from"./chunk-ED3PEZLO.js";import{c as oe}from"./chunk-AKLJ23OZ.js";import{L as Y,X as I,ca as ee,ma as te}from"./chunk-J3H4BCHI.js";import{a as Q}from"./chunk-P6LV5I2K.js";import{a as B,b as q,d as _,e as X,f as Z}from"./chunk-5XX7BU4I.js";import{b as re}from"./chunk-OVIL3KMN.js";import{ua as z}from"./chunk-5ZK3D2RS.js";import{Bc as G,Cc as K,E as R,Gb as J,J as W,L as S,Mc as $,N as H,R as y,U,X as s,Za as c,d as j,fb as D,g as P,ja as F,m as E,x as O,y as N}from"./chunk-MR4RE3IB.js";import"./chunk-C6Q5SG76.js";var d=class t{#o=c(null);#n=window.self!==window.top;config=this.#o.asReadonly();configLoaded=this.#n?new P:null;isLoading=c(this.#n);parentIframeListner=null;parentOrigin="*";fetchConfig(){this.#i(),this.#n&&(this.parentIframeListner=new AbortController,this.#e("connected"),window.addEventListener("message",e=>{if(e.data.startsWith("access:")){let o=e.data.replace("access:",""),n=JSON.parse(o);if(!n?.accessToken||!n?.clientId){this.#e("error:invalid-config");return}if(typeof n.clientId!="string"){this.#e("error:invalid-config");return}if(typeof n.accessToken!="string"){this.#e("error:invalid-config");return}console.info("postMessage config set"),this.#o.set(n),this.configLoaded?.next(!0),this.isLoading.set(!1),this.#e("handshake-complete")}},{signal:this.parentIframeListner.signal}))}#e(e){window.parent.postMessage(e,"*")}#i(){this.parentIframeListner&&(this.parentIframeListner.abort(),this.parentIframeListner=null)}setConfig(e){this.#o.set(e)}clearConfig(){this.#o.set(null)}static \u0275fac=function(o){return new(o||t)};static \u0275prov=y({token:t,factory:t.\u0275fac,providedIn:"root"})};var M=class t{#o=s(v);#n=s(d);ngOnInit(){this.#n.fetchConfig(),this.#o.clearAllNotCurrentVersion()}static \u0275fac=function(o){return new(o||t)};static \u0275cmp=D({type:t,selectors:[["app-root"]],decls:1,vars:0,template:function(o,n){o&1&&J(0,"router-outlet")},dependencies:[Y],encapsulation:2})};var ae={production:!0,baseUrl:"/api",machineServerUrl:"${WS_URL}",defaultTimeout:3e4};var u=new U("ENVIRONMENT");var b=class t{#o=s(oe);isLoaded=c(!1);webmodules=c(null);preload(e=!1){let o=this.#o.getApiV1Webmodules().pipe(H(n=>this.webmodules.set(n)),R(()=>this.isLoaded.set(!0)));if(e)return o;o.subscribe()}static \u0275fac=function(o){return new(o||t)};static \u0275prov=y({token:t,factory:t.\u0275fac,providedIn:"root"})};var ue=()=>{let t=s(d),e=s(F);return t.configLoaded===null?O([e.get(L).preload(!0),e.get(b).preload(!0)]):t.configLoaded?.pipe(S(()=>O([e.get(L).preload(!0),e.get(b).preload(!0)])))},pe=[{path:"",children:[{path:"login",canActivate:[()=>s(T).token()!==null?s(I).navigate(["/"]):!0],loadComponent:()=>import("./chunk-FCHQLLN2.js")},{path:"logout",loadComponent:()=>import("./chunk-XGN4FDKH.js")},{path:"",canActivate:[ue],loadComponent:()=>import("./chunk-MXEBWT5C.js"),children:[{path:"",loadComponent:()=>import("./chunk-6HO4XDHH.js")},{path:"add-backup",loadComponent:()=>import("./chunk-OQEYKIKK.js")},{path:"backup/:id/export",loadComponent:()=>import("./chunk-4237W7DB.js")},{path:"backup/import",loadComponent:()=>import("./chunk-MTJ4JC4K.js")},{path:"backup-draft/:id",loadComponent:()=>import("./chunk-
|
|
1
|
+
import{b as se,c as ie}from"./chunk-N35HGIXN.js";import{a as L}from"./chunk-3NZI2UZ4.js";import"./chunk-KFGIVU27.js";import{a as T}from"./chunk-KL64745B.js";import{a as v}from"./chunk-6M3MNJ52.js";import{c as ne}from"./chunk-ED3PEZLO.js";import{c as oe}from"./chunk-AKLJ23OZ.js";import{L as Y,X as I,ca as ee,ma as te}from"./chunk-J3H4BCHI.js";import{a as Q}from"./chunk-P6LV5I2K.js";import{a as B,b as q,d as _,e as X,f as Z}from"./chunk-5XX7BU4I.js";import{b as re}from"./chunk-OVIL3KMN.js";import{ua as z}from"./chunk-5ZK3D2RS.js";import{Bc as G,Cc as K,E as R,Gb as J,J as W,L as S,Mc as $,N as H,R as y,U,X as s,Za as c,d as j,fb as D,g as P,ja as F,m as E,x as O,y as N}from"./chunk-MR4RE3IB.js";import"./chunk-C6Q5SG76.js";var d=class t{#o=c(null);#n=window.self!==window.top;config=this.#o.asReadonly();configLoaded=this.#n?new P:null;isLoading=c(this.#n);parentIframeListner=null;parentOrigin="*";fetchConfig(){this.#i(),this.#n&&(this.parentIframeListner=new AbortController,this.#e("connected"),window.addEventListener("message",e=>{if(e.data.startsWith("access:")){let o=e.data.replace("access:",""),n=JSON.parse(o);if(!n?.accessToken||!n?.clientId){this.#e("error:invalid-config");return}if(typeof n.clientId!="string"){this.#e("error:invalid-config");return}if(typeof n.accessToken!="string"){this.#e("error:invalid-config");return}console.info("postMessage config set"),this.#o.set(n),this.configLoaded?.next(!0),this.isLoading.set(!1),this.#e("handshake-complete")}},{signal:this.parentIframeListner.signal}))}#e(e){window.parent.postMessage(e,"*")}#i(){this.parentIframeListner&&(this.parentIframeListner.abort(),this.parentIframeListner=null)}setConfig(e){this.#o.set(e)}clearConfig(){this.#o.set(null)}static \u0275fac=function(o){return new(o||t)};static \u0275prov=y({token:t,factory:t.\u0275fac,providedIn:"root"})};var M=class t{#o=s(v);#n=s(d);ngOnInit(){this.#n.fetchConfig(),this.#o.clearAllNotCurrentVersion()}static \u0275fac=function(o){return new(o||t)};static \u0275cmp=D({type:t,selectors:[["app-root"]],decls:1,vars:0,template:function(o,n){o&1&&J(0,"router-outlet")},dependencies:[Y],encapsulation:2})};var ae={production:!0,baseUrl:"/api",machineServerUrl:"${WS_URL}",defaultTimeout:3e4};var u=new U("ENVIRONMENT");var b=class t{#o=s(oe);isLoaded=c(!1);webmodules=c(null);preload(e=!1){let o=this.#o.getApiV1Webmodules().pipe(H(n=>this.webmodules.set(n)),R(()=>this.isLoaded.set(!0)));if(e)return o;o.subscribe()}static \u0275fac=function(o){return new(o||t)};static \u0275prov=y({token:t,factory:t.\u0275fac,providedIn:"root"})};var ue=()=>{let t=s(d),e=s(F);return t.configLoaded===null?O([e.get(L).preload(!0),e.get(b).preload(!0)]):t.configLoaded?.pipe(S(()=>O([e.get(L).preload(!0),e.get(b).preload(!0)])))},pe=[{path:"",children:[{path:"login",canActivate:[()=>s(T).token()!==null?s(I).navigate(["/"]):!0],loadComponent:()=>import("./chunk-FCHQLLN2.js")},{path:"logout",loadComponent:()=>import("./chunk-XGN4FDKH.js")},{path:"",canActivate:[ue],loadComponent:()=>import("./chunk-MXEBWT5C.js"),children:[{path:"",loadComponent:()=>import("./chunk-6HO4XDHH.js")},{path:"add-backup",loadComponent:()=>import("./chunk-OQEYKIKK.js")},{path:"backup/:id/export",loadComponent:()=>import("./chunk-4237W7DB.js")},{path:"backup/import",loadComponent:()=>import("./chunk-MTJ4JC4K.js")},{path:"backup-draft/:id",loadComponent:()=>import("./chunk-XFX4WAZJ.js"),loadChildren:()=>import("./chunk-RIZNMDZX.js")},{path:"backup/:id",loadComponent:()=>import("./chunk-XFX4WAZJ.js"),loadChildren:()=>import("./chunk-RIZNMDZX.js")},{path:"restore",loadComponent:()=>import("./chunk-2HOCLZ5J.js")},{path:"restore-flow/:id",loadComponent:()=>import("./chunk-IH5A7VZA.js"),children:[{path:"",redirectTo:"select-files",pathMatch:"full"},{path:"select-files",loadComponent:()=>import("./chunk-N5EDV26Z.js")},{path:"options",loadComponent:()=>import("./chunk-HZVRWBX3.js")}]},{path:"settings",loadComponent:()=>import("./chunk-P7FSPM3M.js")},{path:"about",loadComponent:()=>import("./chunk-ZVU4LS6E.js"),children:[{path:"",redirectTo:"general",pathMatch:"full"},{path:"general",loadComponent:()=>import("./chunk-6CG2PO47.js")},{path:"changelog",loadComponent:()=>import("./chunk-66TOS62R.js")},{path:"libraries",loadComponent:()=>import("./chunk-UYK4G7KS.js")},{path:"system-info",loadComponent:()=>import("./chunk-ARZ3SWC2.js")},{path:"logs",loadComponent:()=>import("./chunk-LTYC3AYW.js")}]}]}]}];var k=null,ce=(t,e)=>{let o=s(T),n=s(I),l=s(v),i=s(u),f=s(ne),r=l.getItem("locale"),p=se(r),h=t;if(o.token()&&t.url.startsWith(i.baseUrl)){let a=t.headers.set("Authorization",`Bearer ${o.token()}`);r&&r!=="en-US"&&(a=a.set("X-Ui-Language",p)),h=t.clone({headers:a})}return e(h).pipe(N(a=>{if(f.error(a.message),a.status===401&&!k&&(k=o.refreshToken().pipe(W())),a.status===401)return k.pipe(S(()=>e(t.clone({headers:t.headers.set("Authorization",`Bearer ${o.token()}`)}))),N(g=>(n.navigate(["/logout"]),E(()=>g))),R(()=>k=null));let m=`Error Code: ${a.status}, Message: ${a.message}`;return E(()=>({error:a,message:m}))}))};var fe="1.0.0",le="portal-proxy-client",he=1,A=class t{#o=1e3;#n=s(u);#e=c("disconnected");#i=c(this.#o);#a=c(!1);#r=c(!1);#p=c(null);isConnectedToMachineServer=this.#r.asReadonly();wsState=this.#e.asReadonly();#c=[];#s={};#t=null;#m=new TextDecoder("utf-8");#l=null;#d=$(()=>{let e=this.#a(),o=this.#i(),n=this.#p();if(!n||!e||!o||o<this.#o){this.#l&&window.clearInterval(this.#l);return}this.#l=window.setInterval(()=>{this.connectToMachineServer(n)},o)});utf8Atob(e){let o=Uint8Array.from(atob(e),l=>l.charCodeAt(0)),n=this.#m.decode(o);return n?JSON.parse(n):null}connectToMachineServer(e,o){let n=o?.reconnect??!1;this.#t&&this.wsState()==="authenticated"&&!n||(this.#t&&this.wsState()!=="authenticated"&&this.#t.close(),this.#t=new WebSocket(this.#n.machineServerUrl),this.#t.onopen=()=>{this.#e.set("connect"),this.#r.set(!0),this.#a.set(!1),this.#p.set(null)},this.#t.onclose=()=>{this.#e.set("disconnected"),this.#r.set(!1),this.#p.set(e),this.#a.set(!0)},this.#t.onerror=()=>{this.#e.set("error")},this.#t.onmessage=l=>{let i=JSON.parse(l.data);if(this.wsState()==="connect"){if(i.type!=="welcome"){this.disconnectFromMachineServer(`Unexpected message type, expected 'welcome' but got '${i.type}'`);return}let r={token:e,publicKey:"",clientVersion:fe,protocolVersion:he},p=this.createResponse(i,"authportal",r);this.#e.set("welcome"),this.#t?.send(p)}else if(this.wsState()==="welcome"){if(i.type!=="authportal"){this.disconnectFromMachineServer(`Unexpected message type, expected 'authportal' but got '${i.type}'`);return}var f=JSON.parse(i.payload??"");if(f.accepted===!1){this.disconnectFromMachineServer("Authentication failed");return}for(this.#e.set("authenticated"),this.#r.set(!0);this.#c.length>0;){let r=this.#c.pop();r&&this.#s[r.messageId]&&this.activateCommand(r)}}else if(this.wsState()==="authenticated"){if(i.type!=="command"){console.warn(`Unexpected message type, expected 'command' but got '${i.type}'`);return}let r=this.#s[i.messageId];if(r){if(i.errorMessage){r.reject(i.errorMessage);return}else{let p=JSON.parse(i.payload??"");p.body=p?.body==null?null:this.utf8Atob(p.body),r.resolve(p)}delete this.#s[i.messageId],window.clearTimeout(r.timer)}}})}disconnectFromMachineServer(e=null){e&&console.error(e),this.#t?.close(),this.#t=null,this.#e.set("disconnected"),this.#r.set(!1)}createResponse(e,o,n){let l={from:le,to:e.from,type:o,messageId:e.messageId,payload:JSON.stringify(n)};return JSON.stringify(l)}sendCommand(e,o,n,l,i,f,r=5e3){return(this.wsState()==="disconnected"||this.wsState()==="error")&&this.connectToMachineServer(e),new Promise((p,h)=>{let a=crypto.randomUUID(),g={from:le,to:o,type:"command",messageId:a,payload:JSON.stringify({method:n,path:l,body:i,headers:f})},C={resolve:p,reject:h,timer:window.setTimeout(()=>{let w=this.#s[a];w&&(delete this.#s[a],w.reject("Timeout"))},r)};this.#s[a]=C,this.#r()?this.activateCommand(g):this.#c.push(g)})}activateCommand(e){this.#t?.send(JSON.stringify(e))}static \u0275fac=function(o){return new(o||t)};static \u0275prov=y({token:t,factory:t.\u0275fac,providedIn:"root"})};function ge(t){if(typeof t!="string")return null;let o=new TextEncoder().encode(t);return window.btoa(String.fromCharCode(...o))}var me=(t,e)=>{let n=s(d).config(),l=s(u);if(n===null)return e(t);let i=s(A),f=ge(t.body),r={};t.headers.keys().forEach(m=>{r[m]=t.headers.get(m)??""});let p=t.headers.get("timeout"),h=p!==null?parseInt(p):l.defaultTimeout,a=i.sendCommand(n.accessToken,n.clientId,t.method,t.url,f,r,h);return new j(m=>{a.then(g=>{let C=new B;r!=null&&Object.keys(r).forEach(V=>{C.set(V,r[V])});let w=new q({body:g.body,status:g.code,statusText:"OK",headers:C});m.next(w),m.complete()})})};var de={providers:[G(),ee(pe,te()),_(Z(),X([me,ce])),v,{provide:u,useValue:ae},{provide:K,useValue:ie()},re,z]};Q(M,de);
|
package/package.json
CHANGED
package/chunk-5PPKS4ML.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{a as Xe,b as we}from"./chunk-G6GQ2MDC.js";import{a as Dt,b as Xt}from"./chunk-DNHLTHLR.js";import{a as lt}from"./chunk-3NZI2UZ4.js";import{b as W}from"./chunk-KFGIVU27.js";import{a as xe,b as ne,c as Oe,d as ie,e as Ce,f as pt,g as Vt,h as fe,i as Ie,k as ct,l as Se,m as $e,n as Lt,o as Te,p as ee,q as _t,r as Ee}from"./chunk-7TWD5GBS.js";import{a as oe,b as mt,d as Ut,e as Bt,g as Me,i as ut,k as re,m as dt,n as Kt,p as ae,q as se,v as Re,w as Ke}from"./chunk-ED3PEZLO.js";import{a as Be}from"./chunk-AKLJ23OZ.js";import{H as ge,X as te}from"./chunk-J3H4BCHI.js";import{c as bt}from"./chunk-5XX7BU4I.js";import{ia as st}from"./chunk-5ZK3D2RS.js";import{$b as z,Ab as g,Bb as $,Cb as M,Db as R,E as Qe,Eb as a,Fb as r,Gb as m,Hb as K,Ib as X,Jb as be,Kb as P,Kc as L,Mc as at,Qb as E,R as ke,Ra as s,Rb as D,Sb as A,Tb as Ze,Ub as Je,Vb as he,Wb as C,X as y,Xb as p,Za as x,_a as me,_b as V,ac as G,ea as S,fa as T,fb as J,fc as ue,gc as de,hc as Fe,ic as c,ja as It,jc as b,kc as v,lb as F,lc as $t,mc as Mt,nc as Rt,oc as wt,p as qe,qa as Ye,ra as ot,rc as vt,sc as Ve,tc as Gt,uc as et,vb as _,xb as Ae,yc as rt}from"./chunk-MR4RE3IB.js";import{a as q,c as xt}from"./chunk-C6Q5SG76.js";function en(n,i){if(n&1&&(a(0,"p"),c(1),r()),n&2){let e=p();s(),b(e._data().message)}}var tn={title:$localize`Are you sure?`,confirmText:$localize`Confirm`,cancelText:$localize`Cancel`},Le=class n{data=ot();_data=L(()=>q(q({},tn),this.data()));closed=Ye();close(i="confirm"){this.closed.emit(i==="confirm")}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=J({type:n,selectors:[["app-confirm-dialog"]],inputs:{data:[1,"data"]},outputs:{closed:"closed"},decls:10,vars:4,consts:[["header",""],["content",""],["footer",""],["spk-button","",1,"",3,"click"],["spk-button","",1,"raised","primary",3,"click"]],template:function(e,t){e&1&&(a(0,"header",0)(1,"h3"),c(2),r()(),a(3,"div",1),F(4,en,2,1,"p"),r(),a(5,"footer",2)(6,"button",3),C("click",function(){return t.close("cancel")}),c(7),r(),a(8,"button",4),C("click",function(){return t.close("confirm")}),c(9),r()()),e&2&&(s(2),b(t._data().title),s(2),g(t._data().message?4:-1),s(3),b(t._data().cancelText),s(2),b(t._data().confirmText))},styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0})};var Ft=class n{fromString(i){if(!i)return null;let e=i.match(/(\d+)([smhDWMY])/);return e&&{value:parseInt(e[1]),unit:e[2]}}toString(i,e){return`${i}${e}`}static \u0275fac=function(e){return new(e||n)};static \u0275prov=ke({token:n,factory:n.\u0275fac,providedIn:"root"})};var Ue=class n{#e=y(Be);s3Providers=W(this.getS3Config("Providers"));s3Regions=W(this.getS3Config("Regions"));s3RegionHosts=W(this.getS3Config("RegionHosts"));s3StorageClasses=W(this.getS3Config("StorageClasses"));storjSatellites=W(this.getStorjConfig("Satellites"));storjAuthenticationMethods=W(this.getStorjConfig("AuthenticationMethods"));openstackProviders=W(this.getOpenstackConfig("Providers"));openstackVersions=W(this.getOpenstackConfig("Versions"));gcsLocations=W(this.getGcsConfig("Locations"));gcsStorageClasses=W(this.getGcsConfig("StorageClasses"));getS3Config(i){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"s3-getconfig",requestBody:{"s3-config":i}}).pipe(qe(e=>this.#t(e)))}createS3IamUser(i,e){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"s3-iamconfig",requestBody:{"s3-operation":"CanCreateUser","s3-username":i,"s3-password":e}})}createS3PolicyIAM(i){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"s3-iamconfig",requestBody:{"s3-operation":"GetPolicyDoc",path:i}})}getStorjConfig(i){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"storj-getconfig",requestBody:{"storj-config":i}}).pipe(qe(e=>this.#t(e)))}getOpenstackConfig(i){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"openstack-getconfig",requestBody:{"openstack-config":i}}).pipe(qe(e=>this.#t(e)))}getGcsConfig(i){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"gcs-getconfig",requestBody:{"gcs-config":i}}).pipe(qe(e=>this.#t(e)))}#t(i){return(i.Result&&typeof i.Result=="object"&&Object.entries(i.Result).map(([e,t])=>({key:e,value:t})))??[]}static \u0275fac=function(e){return new(e||n)};static \u0275prov=ke({token:n,factory:n.\u0275fac,providedIn:"root"})};var ve=new ee,tt={file:{customFields:{path:{type:"FolderTree",name:"path",shortDescription:"File path",longDescription:"The path to store the backup",formElement:n=>ve.control(n??"")}}},ssh:{customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"The server to connect to",formElement:n=>ve.control(n??"")},port:{type:"Integer",name:"port",shortDescription:"Port",longDescription:"The port to connect to",formElement:n=>ve.control(n??"",[Oe.required,Oe.max(65535)])},path:{type:"Path",name:"path",shortDescription:"Folder path",longDescription:"Folder path",formElement:n=>ve.control(n??"")}},dynamicFields:["auth-username"],advancedFields:[{type:"FileTree",name:"ssh-keyfile",accepts:".key,",shortDescription:"This is a path to a private key file locally on the machine",longDescription:"This is a path to a private key file locally on the machine"}]},s3:{customFields:{bucket:{type:"String",name:"bucket",shortDescription:"Bucket name",longDescription:"Bucket name",formElement:n=>ve.control(n??"")},path:{type:"Path",name:"path",shortDescription:"Folder path",longDescription:"Folder path",formElement:n=>ve.control(n??"")}},dynamicFields:[{name:"s3-server-name",shortDescription:"Server",type:"NonValidatedSelectableString",loadOptions:n=>n.get(Ue).s3Providers},"use-ssl","auth-username","auth-password"],advancedFields:[{name:"s3-client",type:"Enumeration",options:["aws","minio"]},{name:"s3-storage-class",type:"NonValidatedSelectableString",loadOptions:n=>n.get(Ue).s3StorageClasses}]},gcs:{oauthField:"authid",customFields:{path:{type:"Path",name:"path",shortDescription:"Bucket name",longDescription:"Bucket name",formElement:n=>ve.control(n??"")}},dynamicFields:[{name:"gcs-location",type:"NonValidatedSelectableString",loadOptions:n=>n.get(Ue).gcsLocations},{name:"gcs-storage-class",type:"NonValidatedSelectableString",loadOptions:n=>n.get(Ue).gcsStorageClasses},"authid"]},googledrive:{oauthField:"authid",customFields:{path:{type:"Path",name:"path",shortDescription:"Folder path",longDescription:"Folder path",formElement:n=>ve.control(n??"")}},dynamicFields:["authid"]}};function He(n,i){let e={},t={};return i.searchParams.forEach((o,l)=>{tt[n].dynamicFields?.includes(l)?t[l]=decodeURIComponent(o):e[l]=decodeURIComponent(o)}),{advanced:e,dynamic:t}}function nt(n){let i=n.map(([e,t])=>`${e}=${t?encodeURIComponent(t.toString()):""}`).join("&");return i?"?"+i:""}var We={file:{to:n=>{let i=nt([...Object.entries(n.advanced),...Object.entries(n.dynamic)]);return`${n.destinationType}://${n.custom.path}${i}`},from:(n,i,e)=>{let t=e.indexOf("file:///")===0,o=e.split(t?"///":"//")[1].substring(0,1)+i.hostname.substring(1);return q({destinationType:n,custom:{path:`${t?"/":""}${o}${i.pathname}`}},He(n,i))}},ssh:{to:n=>{let i=nt([...Object.entries(n.advanced),...Object.entries(n.dynamic)]);return`${n.destinationType}://${n.custom.server}${n.custom.port?":"+n.custom.port:""}${n.custom.path.startsWith("/")?n.custom.path:"/"+n.custom.path}${i}`},from:(n,i,e)=>q({destinationType:n,custom:{server:i.hostname,port:i.port,path:i.pathname}},He(n,i))},s3:{to:n=>{let i=nt([...Object.entries(n.advanced),...Object.entries(n.dynamic)]);return`${n.destinationType}://${n.custom.bucket}${n.custom.path.startsWith("/")?n.custom.path:"/"+n.custom.path}${i}`},from:(n,i,e)=>q({destinationType:n,custom:{path:i.pathname,bucket:i.hostname}},He(n,i))},gcs:{to:n=>{let i=nt([...Object.entries(n.advanced),...Object.entries(n.dynamic)]);return`${n.destinationType}://${n.custom.path}${i}`},from:(n,i,e)=>q({destinationType:n,custom:{path:i.hostname+i.pathname}},He(n,i))},googledrive:{to:n=>{let i=n.custom.path,e=nt([...Object.entries(n.advanced),...Object.entries(n.dynamic)]);return`${n.destinationType}://${i}${e}`},from:(n,i,e)=>q({destinationType:n,custom:{path:i.hostname+i.pathname}},He(n,i))},fallbackMapper:{to:n=>"",from:(n,i,e)=>q({destinationType:n},He(n,i))}};function gt(n){let i=n.destinationType;return!i||!We.hasOwnProperty(i)?We.fallbackMapper.to(n)??"":We[i].to(n)??""}function Nt(n){let i=URL.canParse(n),e=n.split("://")[0],t="http://"+n.split("://")[1],o=new URL(t);if(!We.hasOwnProperty(e))return We.fallbackMapper.from(e,o);if(!i)throw new Error("Invalid target path");return We[e].from(e,o,n)}var zt=/[a-zA-Z0-9_\-\+\.!@#$%^&*?_~()-]/,Ct=class n{generate(i,e=zt){let t;do t=this.generatePassword(i,e);while(this.calculatePasswordStrength(t)<5);return t}generatePassword(i,e=zt){let t=this;return Array.apply(null,{length:i}).map(()=>{let o;for(;;)if(o=String.fromCharCode(t.#e()),e.test(o))return o},this).join("")}calculatePasswordStrength(i){let e=1;return i.length>=8&&e++,i.match(/[a-z]/)&&i.match(/[A-Z]/)&&e++,i.match(/\d+/)&&e++,i.match(/.[!,@,#,$,%,^,&,*,?,_,~,(,),-]/)&&e++,Math.min(e,5)}#e(){if(window.crypto&&window.crypto.getRandomValues){let i=new Uint8Array(1);return window.crypto.getRandomValues(i),i[0]}else if(window.msCrypto&&window.msCrypto.getRandomValues){let i=new Uint8Array(1);return window.msCrypto.getRandomValues(i),i[0]}else return Math.floor(Math.random()*256)}static \u0275fac=function(e){return new(e||n)};static \u0275prov=ke({token:n,factory:n.\u0275fac,providedIn:"root"})};var nn=["formRef"];function on(n,i){if(n&1&&(a(0,"spk-option",27),c(1),r()),n&2){let e=i.$implicit;_("value",e.Key),s(),b(e.DisplayName)}}function rn(n,i){if(n&1&&m(0,"spk-progress-bar",38),n&2){let e=p(3);Ae("warn",e.calculatePasswordStrength()===1)("tertiary",e.calculatePasswordStrength()===2)("primary",e.calculatePasswordStrength()===4)("success",e.calculatePasswordStrength()===5),_("value",e.calculatePasswordStrength()*(100/5))}}function an(n,i){n&1&&(a(0,"span",33),A(1,9),r())}function sn(n,i){n&1&&(E(0,7,1),m(1,"spk-icon"),D())}function ln(n,i){n&1&&(E(0,7,2),m(1,"spk-icon"),D())}function pn(n,i){n&1&&(E(0,10,1),m(1,"spk-icon",40),D())}function cn(n,i){n&1&&(E(0,10,2),m(1,"spk-icon"),D())}function _n(n,i){if(n&1){let e=P();a(0,"button",39),C("click",function(){S(e);let o=p(3);return T(o.copyPassword())}),E(1,10),F(2,pn,2,0)(3,cn,2,0),D(),r()}if(n&2){let e=p(3);s(2),g(e.copiedPassword()?2:3)}}function mn(n,i){n&1&&(a(0,"spk-alert",37),A(1,11),r())}function un(n,i){if(n&1){let e=P();a(0,"div",28)(1,"spk-form-field")(2,"label",29),E(3,6),m(4,"sup"),D(),r(),m(5,"input",30),r(),F(6,rn,1,9,"spk-progress-bar",31),a(7,"spk-form-field"),m(8,"input",32),F(9,an,2,0,"span",33),r(),a(10,"div",34)(11,"button",35),C("click",function(){S(e);let o=p(2);return T(o.showPassword.set(!o.showPassword()))}),E(12,7),F(13,sn,2,0)(14,ln,2,0),D(),r(),a(15,"button",35),C("click",function(){S(e);let o=p(2);return T(o.generatePassword())}),E(16,8),m(17,"spk-icon"),D(),r(),F(18,_n,4,1,"button",36),r(),F(19,mn,2,0,"spk-alert",37),r()}if(n&2){let e=p(2);s(5),_("type",e.showPassword()?"text":"password"),s(),g(e.generalForm.value.password?6:-1),s(2),_("type",e.showPassword()?"text":"password"),s(),g(e.generalForm.value.repeatPassword&&e.generalForm.value.repeatPassword!==e.generalForm.value.password?9:-1),s(4),g(e.showPassword()?13:14),s(5),g(e.showCopyPassword()?18:-1),s(),g(e.generalForm.value.password&&e.generalForm.value.password===e.generalForm.value.repeatPassword?19:-1)}}function dn(n,i){if(n&1&&(a(0,"spk-select",24)(1,"label",25),A(2,5),r(),m(3,"input",26),M(4,on,2,2,"spk-option",27,$),r(),F(6,un,20,7,"div",28)),n&2){let e=p();_("displayFn",e.displayFn()),s(4),R(e.encryptionOptions()),s(2),g(e.encryptionFieldSignal()!==""?6:-1)}}function Fn(n,i){if(n&1&&(a(0,"button",22),E(1,12),m(2,"spk-icon"),D(),r()),n&2){let e=p();_("disabled",e.generalForm.invalid)}}function gn(n,i){if(n&1&&(a(0,"spk-tooltip",23)(1,"button",22),E(2,13),m(3,"spk-icon"),D(),r()()),n&2){let e=p();_("disabled",!(e.showCopyPassword()&&!e.copiedPassword())),s(),_("disabled",e.generalForm.invalid||e.showCopyPassword()&&!e.copiedPassword())}}var je=new ee,Ht=(n={name:"",description:"",encryption:"",password:"",repeatPassword:""})=>je.group({name:je.control(n.name,[Oe.required]),description:je.control(n.description),encryption:je.control(n.encryption,[Xt()]),password:je.control(n.password,[Dt(i=>i?.value.encryption!=="",[Oe.required])]),repeatPassword:je.control(n.repeatPassword,[Dt(i=>i?.value.encryption!=="",[Oe.required])])}),ht={Key:"",DisplayName:"None"},At=class n{#e=y(te);#t=y(ge);#i=y(Ct);#o=y(le);#n=y(lt);formRef=me.required("formRef");generalForm=this.#o.generalForm;generalFormSignal=this.#o.generalFormSignal;encryptionFieldSignal=this.#o.encryptionFieldSignal;encryptionOptions=this.#o.encryptionOptions;isNew=this.#o.isNew;showPassword=x(!1);copiedPassword=x(!1);showCopyPassword=x(!1);encryptionEffect=at(()=>{this.encryptionFieldSignal()===""&&(this.copiedPassword.set(!1),this.showCopyPassword.set(!1))});calculatePasswordStrength=L(()=>{let e=this.generalFormSignal()?.password??"";return this.#i.calculatePasswordStrength(e)});ngOnInit(){this.formRef().nativeElement.focus()}exit(){this.#o.exit()}async copyPassword(){let i=this.generalForm.controls.password.value;await this.#r(i??""),this.copiedPassword.set(!0)}async#r(i){try{await navigator.clipboard.writeText(i)}catch{try{let t=document.createElement("textarea");t.value=i,document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t)}catch(t){console.error("Failed to copy text: ",t)}}}displayFn(){let i=this.#n.systemInfo()?.EncryptionModules??[];return e=>{let t=[ht,...i].find(o=>o.Key===e);return t?`${t.DisplayName}`:""}}generatePassword(){this.copiedPassword.set(!1);let i=this.#i.generate(16);this.generalForm.controls.password.setValue(i),this.generalForm.controls.repeatPassword.setValue(i),this.showCopyPassword.set(!0)}next(){this.#e.navigate(["destination"],{relativeTo:this.#t.parent})}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=J({type:n,selectors:[["app-general"]],viewQuery:function(e,t){e&1&&ue(t.formRef,nn,5),e&2&&de()},decls:20,vars:3,consts:()=>{let i;i=$localize`Your backup name`;let e;e=$localize`Your backup description`;let t;t=$localize`General backup settings`;let o;o=$localize` Backup name ${"\uFFFD#7\uFFFD"}:START_SUPERSCRIPT:*${"\uFFFD/#7\uFFFD"}:CLOSE_SUPERSCRIPT:`;let l;l=$localize`Backup description`;let d;d=$localize`${"\uFFFD#17\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#17\uFFFD"}:CLOSE_TAG_SPK_ICON: Exit `;let k;k=$localize`Encryption`;let I;I=$localize`Encryption`;let h;h=$localize`Password`;let Y;Y=$localize`Repeat password`;let Z;Z=$localize` Create a password ${"\uFFFD#4\uFFFD"}:START_SUPERSCRIPT:*${"\uFFFD/#4\uFFFD"}:CLOSE_SUPERSCRIPT:`;let U;U=$localize`${"\uFFFD*13:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:eye-slash${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: hide ${"\uFFFD/*13:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*14:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:eye${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: show ${"\uFFFD/*14:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,U=he(U);let B;B=$localize`${"\uFFFD#17\uFFFD"}:START_TAG_SPK_ICON:password${"\uFFFD/#17\uFFFD"}:CLOSE_TAG_SPK_ICON: Generate password `;let j;j=$localize`Passwords do not match`;let N;N=$localize`${"\uFFFD*2:1\uFFFD"}:START_BLOCK_IF:${"\uFFFD#1:1\uFFFD"}:START_TAG_SPK_ICON:check${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Copied password ${"\uFFFD/*2:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*3:2\uFFFD"}:START_BLOCK_ELSE:${"\uFFFD#1:2\uFFFD"}:START_TAG_SPK_ICON_1:copy${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Copy password ${"\uFFFD/*3:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,N=he(N);let u;u=$localize` Tip: Be sure to save your password. If you loose it you will lose access to your backups. `;let f;f=$localize` Continue ${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let H;return H=$localize` Continue ${"\uFFFD#3\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#3\uFFFD"}:CLOSE_TAG_SPK_ICON:`,[["formRef",""],t,o,l,d,I,Z,U,B,j,N,u,f,H,["autocomplete","off",3,"submit","formGroup"],[1,"title-30"],["for","backupName"],["type","text","tabindex","1","placeholder",i,"formControlName","name"],["for","backupDescription"],["id","backupDescription","tabindex","2","placeholder",e,"formControlName","description"],[1,"form-actions"],["type","button","spk-button","",3,"click"],["spk-button","","type","submit",1,"raised","primary",3,"disabled"],["message","Remember to copy the password",1,"primary",3,"disabled"],[3,"displayFn"],["for","encryption"],["type","text","id","encryption","tabindex","3","placeholder",k,"formControlName","encryption"],[3,"value"],[1,"passwords"],["for","password"],["id","password","tabindex","4","autocomplete","off","placeholder",h,"formControlName","password",3,"type"],[1,"raised",3,"warn","tertiary","primary","success","value"],["id","repeatPassword","tabindex","5","autocomplete","off","placeholder",Y,"formControlName","repeatPassword",3,"type"],["error",""],[1,"password-actions"],["spk-button","","type","button",1,"small",3,"click"],["spk-button","","type","button",1,"small","copy"],["type","primary"],[1,"raised",3,"value"],["spk-button","","type","button",1,"small","copy",3,"click"],[1,"spk-success"]]},template:function(e,t){if(e&1){let o=P();a(0,"form",14,0),C("submit",function(){return S(o),T(t.next())}),a(2,"h3",15),A(3,1),r(),a(4,"spk-form-field")(5,"label",16),E(6,2),m(7,"sup"),D(),r(),m(8,"input",17),r(),a(9,"spk-form-field")(10,"label",18),A(11,3),r(),m(12,"textarea",19),r(),F(13,dn,7,2),a(14,"div",20)(15,"button",21),C("click",function(){return S(o),T(t.exit())}),E(16,4),m(17,"spk-icon"),D(),r(),F(18,Fn,3,1,"button",22)(19,gn,4,2,"spk-tooltip",23),r()()}e&2&&(_("formGroup",t.generalForm),s(13),g(t.isNew()?13:-1),s(5),g(t.encryptionFieldSignal()===""?18:19))},dependencies:[Ee,fe,ne,ie,Ce,Se,Te,re,se,Me,oe,ae,Kt,mt,Ke],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:32.5rem;padding:2.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}sup[_ngcontent-%COMP%]{padding:0 .125rem;color:var(--warn-500)}.passwords[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.password-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:center}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.copy[_ngcontent-%COMP%] spk-icon.spk-success[_ngcontent-%COMP%]{color:var(--success-500)}"],changeDetection:0})};var Cn=["formRef"],fn=(n,i)=>({index:n,formView:i,formGroupName:"advancedOptions",destinationType:null,oauthField:null}),Sn=n=>({$implicit:n});function Tn(n,i){if(n&1&&(a(0,"spk-option",17),c(1),r()),n&2){let e=i.$implicit;_("value",e),s(),b(e)}}function En(n,i){if(n&1&&(a(0,"spk-option",17),c(1),r()),n&2){let e=i.$implicit;_("value",e.value),s(),b(e.name)}}function Dn(n,i){if(n&1){let e=P();E(0,7,1),a(1,"button",29,2),C("click",function(){let o=S(e).$implicit,l=p();return T(l.addNewOption(o))}),r(),D()}if(n&2){let e=i.$implicit;s(),Ze(e.name),Je(0)}}function Nn(n,i){n&1&&be(0)}function An(n,i){if(n&1&&F(0,Nn,1,0,"ng-container",30),n&2){let e=i.$implicit,t=i.$index;p();let o=Fe(35);_("ngTemplateOutlet",o)("ngTemplateOutletContext",Ve(5,Sn,Gt(2,fn,t,e)))}}function hn(n,i){if(n&1&&(a(0,"spk-tooltip",40)(1,"spk-icon"),c(2,"question"),r()()),n&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function On(n,i){if(n&1&&(a(0,"app-file-tree",33)(1,"label",39),c(2),F(3,hn,3,1,"spk-tooltip",40),r(),m(4,"input",41),r()),n&2){let e,t=p().$implicit,o=p();_("startingPath",o.getFormFieldValue(0,t.formGroupName,t.formView.name))("accepts",t.formView.accepts)("showFiles",!0)("showHiddenNodes",!0)("selectFiles",!0),s(),z("for","destination-",t.formGroupName,"-",t.index,""),s(),v(" ",(e=t.formView.shortDescription)!==null&&e!==void 0?e:t.formView.name," "),s(),g(t.formView.longDescription?3:-1),s(),z("id","destination-",t.formGroupName,"-",t.index,""),V("formControlName",t.formView.name)}}function yn(n,i){if(n&1&&(a(0,"spk-tooltip",40)(1,"spk-icon"),c(2,"question"),r()()),n&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function Pn(n,i){if(n&1&&(a(0,"app-file-tree",34)(1,"label",39),c(2),F(3,yn,3,1,"spk-tooltip",40),r(),m(4,"input",41),r()),n&2){let e,t=p().$implicit,o=p();_("startingPath",o.getFormFieldValue(0,t.formGroupName,t.formView.name)),s(),z("for","destination-",t.formGroupName,"-",t.index,""),s(),v(" ",(e=t.formView.shortDescription)!==null&&e!==void 0?e:t.formView.name," "),s(),g(t.formView.longDescription?3:-1),s(),z("id","destination-",t.formGroupName,"-",t.index,""),V("formControlName",t.formView.name)}}function kn(n,i){if(n&1&&(a(0,"spk-tooltip",40)(1,"spk-icon"),c(2,"question"),r()()),n&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function xn(n,i){n&1&&(a(0,"spk-icon",42),c(1,"link"),r())}function In(n,i){n&1&&(a(0,"spk-icon",42),c(1,"textbox"),r())}function $n(n,i){if(n&1&&(a(0,"spk-form-field")(1,"label",39),c(2),F(3,kn,3,1,"spk-tooltip",40),r(),m(4,"input",41),F(5,xn,2,0,"spk-icon",42)(6,In,2,0,"spk-icon",42),r()),n&2){let e,t=p().$implicit;s(),z("for","destination-",t.formGroupName,"-",t.index,""),s(),v(" ",(e=t.formView.shortDescription)!==null&&e!==void 0?e:t.formView.name," "),s(),g(t.formView.longDescription?3:-1),s(),z("id","destination-",t.formGroupName,"-",t.index,""),V("formControlName",t.formView.name),s(),g(t.formView.type==="Path"?5:6)}}function Mn(n,i){if(n&1){let e=P();a(0,"span",46),C("click",function(){S(e);let o=p(2).$implicit,l=p();return T(l.oauthStartTokenCreation(o.formViewType))}),c(1,"AuthID"),r()}}function Rn(n,i){n&1&&(a(0,"spk-icon",42),c(1,"password"),r())}function wn(n,i){if(n&1){let e=P();a(0,"spk-icon",47),C("click",function(){S(e);let o=p(2).$implicit;return T(o.formView.showPassword=!o.formView.showPassword)}),c(1," eye "),r()}}function vn(n,i){if(n&1){let e=P();a(0,"spk-icon",47),C("click",function(){S(e);let o=p(2).$implicit;return T(o.formView.showPassword=!o.formView.showPassword)}),c(1," eye-slash "),r()}}function Gn(n,i){if(n&1&&(a(0,"spk-form-field")(1,"label",39),c(2),r(),m(3,"input",43),F(4,Mn,2,0,"span",44)(5,Rn,2,0,"spk-icon",42)(6,wn,2,0,"spk-icon",45)(7,vn,2,0,"spk-icon",45),r()),n&2){let e,t=p().$implicit;s(),z("for","destination-",t.formGroupName,"-",t.index,""),s(),v(" ",(e=t.formView.shortDescription)!==null&&e!==void 0?e:t.formView.name," "),s(),z("id","destination-",t.formGroupName,"-",t.index,""),V("formControlName",t.formView.name),_("type",t.formView.showPassword?"text":"password"),s(),g(t.oauthField===t.formView.name?4:5),s(2),g(t.formView.showPassword?6:7)}}function bn(n,i){if(n&1&&(a(0,"spk-tooltip",40)(1,"spk-icon"),c(2,"question"),r()()),n&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function Vn(n,i){if(n&1&&(a(0,"spk-option",17),c(1),r()),n&2){let e=i.$implicit;_("value",e),s(),b(e)}}function Ln(n,i){if(n&1&&(a(0,"spk-select")(1,"label",39),c(2),F(3,bn,3,1,"spk-tooltip",40),r(),m(4,"input",48),M(5,Vn,2,2,"spk-option",17,$),r()),n&2){let e,t=p().$implicit;s(),z("for","destination-",t.formGroupName,"-",t.index,""),s(),v(" ",(e=t.formView.shortDescription)!==null&&e!==void 0?e:t.formView.name," "),s(),g(t.formView.longDescription?3:-1),s(),z("id","destination-",t.formGroupName,"-",t.index,""),V("formControlName",t.formView.name),s(),R(t.formView.options)}}function Un(n,i){if(n&1&&(a(0,"spk-tooltip",40)(1,"spk-icon"),c(2,"question"),r()()),n&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function Bn(n,i){if(n&1&&(a(0,"spk-option",17),c(1),r()),n&2){let e=i.$implicit;_("value",e),s(),b(e)}}function Kn(n,i){if(n&1&&(a(0,"div",35)(1,"label",39),c(2),F(3,Un,3,1,"spk-tooltip",40),r(),a(4,"div",49)(5,"spk-form-field"),m(6,"input",50),a(7,"spk-icon",42),c(8,"resize"),r()(),a(9,"spk-select"),m(10,"label")(11,"input",51),M(12,Bn,2,2,"spk-option",17,$),r()()()),n&2){let e,t=p().$implicit,o=p();_("formGroupName",t.formView.name),s(),z("for","destination-",t.formGroupName,"-",t.index,""),s(),v(" ",(e=t.formView.shortDescription)!==null&&e!==void 0?e:t.formView.name," "),s(),g(t.formView.longDescription?3:-1),s(3),z("id","destination-",t.formGroupName,"-",t.index,""),s(6),R(o.sizeOptions())}}function Xn(n,i){if(n&1&&(a(0,"spk-tooltip",40)(1,"spk-icon"),c(2,"question"),r()()),n&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function zn(n,i){if(n&1&&(a(0,"spk-form-field")(1,"label",39),c(2),F(3,Xn,3,1,"spk-tooltip",40),r(),m(4,"input",52),a(5,"spk-icon",42),c(6,"numpad"),r()()),n&2){let e,t=p().$implicit;s(),z("for","destination-",t.formGroupName,"-",t.index,""),s(),v(" ",(e=t.formView.shortDescription)!==null&&e!==void 0?e:t.formView.name," "),s(),g(t.formView.longDescription?3:-1),s(),z("id","destination-",t.formGroupName,"-",t.index,""),V("formControlName",t.formView.name)}}function Hn(n,i){if(n&1&&(a(0,"spk-tooltip",40)(1,"spk-icon"),c(2,"question"),r()()),n&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function Wn(n,i){if(n&1&&(a(0,"spk-toggle",36)(1,"label",39),c(2),F(3,Hn,3,1,"spk-tooltip",40),r(),m(4,"input",53),r()),n&2){let e,t=p().$implicit;s(),z("for","destination-",t.formGroupName,"-",t.index,""),s(),v(" ",(e=t.formView.shortDescription)!==null&&e!==void 0?e:t.formView.name," "),s(),g(t.formView.longDescription?3:-1),s(),z("id","destination-",t.formGroupName,"-",t.index,""),V("formControlName",t.formView.name)}}function jn(n,i){if(n&1&&(a(0,"spk-tooltip",40)(1,"spk-icon"),c(2,"question"),r()()),n&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function qn(n,i){n&1&&(a(0,"spk-option",55),c(1,"None"),r()),n&2&&_("value","None")}function Qn(n,i){if(n&1&&(a(0,"spk-option",17),c(1),m(2,"spk-checkbox",56),r()),n&2){let e=p().$implicit;_("value",e),s(),v(" ",e," ")}}function Yn(n,i){if(n&1&&F(0,qn,2,1,"spk-option",55)(1,Qn,3,2,"spk-option",17),n&2){let e=i.$implicit;g(e==="None"?0:1)}}function Zn(n,i){if(n&1&&(a(0,"spk-select",37)(1,"label",39),c(2),F(3,jn,3,1,"spk-tooltip",40),r(),m(4,"input",54),M(5,Yn,2,1,null,null,$),r()),n&2){let e,t=p().$implicit;_("selectMultiple",!0),s(),z("for","destination-",t.formGroupName,"-",t.index,""),s(),v(" ",(e=t.formView.shortDescription)!==null&&e!==void 0?e:t.formView.name," "),s(),g(t.formView.longDescription?3:-1),s(),V("formControlName",t.formView.name),s(),R(t.formView.options)}}function Jn(n,i){if(n&1&&(a(0,"spk-tooltip",40)(1,"spk-icon"),c(2,"question"),r()()),n&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function ei(n,i){if(n&1&&(a(0,"spk-form-field")(1,"label",39),c(2),F(3,Jn,3,1,"spk-tooltip",40),r(),m(4,"input",41),r()),n&2){let e,t=p().$implicit;s(),z("for","destination-",t.formGroupName,"-",t.index,""),s(),v(" ",(e=t.formView.shortDescription)!==null&&e!==void 0?e:t.formView.name," "),s(),g(t.formView.longDescription?3:-1),s(),z("id","destination-",t.formGroupName,"-",t.index,""),V("formControlName",t.formView.name)}}function ti(n,i){if(n&1){let e=P();a(0,"div",31),K(1,32),F(2,On,5,14,"app-file-tree",33)(3,Pn,5,10,"app-file-tree",34)(4,$n,7,10,"spk-form-field")(5,Gn,8,11,"spk-form-field")(6,Ln,7,9,"spk-select")(7,Kn,14,9,"div",35)(8,zn,7,9,"spk-form-field")(9,Wn,5,9,"spk-toggle",36)(10,Zn,7,7,"spk-select",37)(11,ei,5,9,"spk-form-field"),X(),a(12,"button",38),C("click",function(){let o=S(e).$implicit,l=p();return T(l.removeFormView(o.formView,0))}),a(13,"spk-icon"),c(14,"x-circle"),r()()()}if(n&2){let e=i.$implicit;s(),_("formGroupName",e.formGroupName),s(),g(e.formView.type==="FileTree"?2:e.formView.type==="FolderTree"?3:e.formView.type==="String"||e.formView.type==="Path"?4:e.formView.type==="Password"?5:e.formView.type==="Enumeration"?6:e.formView.type==="Size"?7:e.formView.type==="Integer"?8:e.formView.type==="Boolean"?9:e.formView.type==="Flags"?10:e.formView.type==="Timespan"?11:-1)}}var ye=new ee,ni=["Bytes","KB","MB","GB","TB","PB"],ii=[{value:"",name:"Keep all backups"},{value:"time",name:"Delete backups that are older than"},{value:"versions",name:"Keep a specific number of backups"},{value:"smart",name:"Smart backup retention"},{value:"custom",name:"Custom backup retention"}],Wt=(n={remoteVolumeSize:50,size:"MB",backupRetention:"",advancedOptions:[]})=>ye.group({remoteVolumeSize:ye.group({size:ye.control(n.remoteVolumeSize),unit:ye.control(n.size)}),backupRetention:ye.control(n.backupRetention),advancedOptions:ye.group({})}),Fr=(n,i)=>ye.group({name:ye.control(n),value:ye.control(i)}),Ot=class n{#e=y(le);#t=y(te);#i=y(ge);formRef=me.required("formRef");optionsForm=this.#e.optionsForm;selectedOptions=this.#e.selectedOptions;nonSelectedOptions=this.#e.nonSelectedOptions;isSubmitting=this.#e.isSubmitting;sizeOptions=x(ni);rentationOptions=x(ii);oauthStartTokenCreation(i){}getFormFieldValue(i,e,t){return this.optionsForm.controls.advancedOptions.controls[t].value}removeFormView(i,e){this.#e.removeOptionFromFormGroup(i)}addNewOption(i){this.#e.addOptionToFormGroup(i)}retentionOptionDisplayFn(){let i=this.rentationOptions();return e=>{let t=i.find(o=>o.value===e);return t?t.name:""}}displayFn(){let i=this.#e.advancedOptions();return e=>{let t=i.find(o=>o.name===e);return t?`${t.name}`:""}}goBack(){this.#t.navigate(["schedule"],{relativeTo:this.#i.parent})}submit(){this.#e.submit()}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=J({type:n,selectors:[["app-options"]],viewQuery:function(e,t){e&1&&ue(t.formRef,Cn,5),e&2&&de()},decls:43,vars:5,consts:()=>{let i;i=$localize`Select an option...`;let e;e=$localize`Options`;let t;t=$localize`Remote volume size`;let o;o=$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#16\uFFFD"}:START_LINK:Read more${"\uFFFD/#16\uFFFD"}:CLOSE_LINK:`;let l;l=$localize`Backup retention`;let d;d=$localize` Advanced options ${"\uFFFD#26\uFFFD"}:START_TAG_SPK_MENU:${"\uFFFD#27\uFFFD"}:START_TAG_BUTTON: Add advanced option ${"\uFFFD#28\uFFFD"}:START_TAG_SPK_ICON:plus${"\uFFFD/#28\uFFFD"}:CLOSE_TAG_SPK_ICON:${"[\uFFFD/#27\uFFFD|\uFFFD/#1:1\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD#29\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD*31:1\uFFFD"}:START_BLOCK_FOR:${"\uFFFD#1:1\uFFFD"}:START_TAG_BUTTON_1:${"\uFFFD0:1\uFFFD"}:INTERPOLATION:${"[\uFFFD/#27\uFFFD|\uFFFD/#1:1\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD/*31:1\uFFFD"}:CLOSE_BLOCK_FOR:${"\uFFFD/#29\uFFFD"}:CLOSE_TAG_NG_CONTAINER:${"\uFFFD/#26\uFFFD"}:CLOSE_TAG_SPK_MENU:`,d=he(d);let k;k=$localize`${"\uFFFD#39\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#39\uFFFD"}:CLOSE_TAG_SPK_ICON: Go back `;let I;return I=$localize`${"\uFFFD#42\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#42\uFFFD"}:CLOSE_TAG_SPK_ICON: Submit `,[["formRef",""],["fieldTemplate",""],["option",""],e,t,o,l,d,k,I,[3,"submit","formGroup"],[1,"title-30"],[1,"remote-volume-wrap"],["formGroupName","remoteVolumeSize",1,"row-inputs"],["for","size"],["type","number","id","size","formControlName","size"],["type","text","placeholder",i,"formControlName","unit"],[3,"value"],["href","#",1,"spk-primary"],[3,"displayFn"],["type","text","formControlName","backupRetention"],[3,"disallowToggle"],["title",""],["spk-button","","type","button",1,"outlined","small"],["menu",""],["type","button"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"],["type","button",3,"click"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"field-row"],[3,"formGroupName"],[3,"startingPath","accepts","showFiles","showHiddenNodes","selectFiles"],[3,"startingPath"],[1,"form-column",3,"formGroupName"],[1,"primary","raised"],[1,"primary",3,"selectMultiple"],["spk-button","","type","button",1,"outlined",3,"click"],[3,"for"],[1,"primary",3,"message"],["type","text",3,"id","formControlName"],["prefix",""],["autocomplete","off",3,"type","id","formControlName"],["prefix","",1,"link"],["suffix","",1,"clickable"],["prefix","",1,"link",3,"click"],["suffix","",1,"clickable",3,"click"],["type","search",3,"id","formControlName"],[1,"form-row"],["type","number","formControlName","size",3,"id"],["type","search","formControlName","unit"],["type","number",3,"id","formControlName"],["type","checkbox",3,"id","formControlName"],["type","text","id","text",3,"formControlName"],["deselect","",3,"value"],[1,"raised","primary"]]},template:function(e,t){if(e&1){let o=P();a(0,"form",10,0),C("submit",function(){return S(o),T(t.submit())}),a(2,"h3",11),A(3,3),r(),a(4,"div",12)(5,"div",13)(6,"spk-form-field")(7,"label",14),A(8,4),r(),m(9,"input",15),r(),a(10,"spk-select"),m(11,"input",16),M(12,Tn,2,2,"spk-option",17,$),r()(),a(14,"p"),E(15,5),m(16,"a",18),D(),r()(),a(17,"spk-select",19)(18,"label",14),A(19,6),r(),m(20,"input",20),M(21,En,2,2,"spk-option",17,$),r(),a(23,"app-toggle-card",21),K(24,22),E(25,7),a(26,"spk-menu")(27,"button",23),m(28,"spk-icon"),r(),K(29,24),M(30,Dn,3,1,"button",25,$),X(),r(),D(),X(),M(32,An,1,7,"ng-container",null,$),r(),F(34,ti,15,2,"ng-template",null,1,rt),a(36,"div",26)(37,"button",27),C("click",function(){return S(o),T(t.goBack())}),E(38,8),m(39,"spk-icon"),D(),r(),a(40,"button",28),E(41,9),m(42,"spk-icon"),D(),r()()()}e&2&&(_("formGroup",t.optionsForm),s(12),R(t.sizeOptions()),s(5),_("displayFn",t.retentionOptionDisplayFn()),s(4),R(t.rentationOptions()),s(2),_("disallowToggle",!0),s(7),R(t.nonSelectedOptions()),s(2),R(t.selectedOptions()),s(8),Ae("loader",t.isSubmitting()))},dependencies:[Ee,fe,ne,Ie,xe,ie,Ce,Se,Te,$e,st,dt,se,Me,oe,re,Re,ut,ae,Ke,Xe,we],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:32.5rem;padding:2.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-column[_ngcontent-%COMP%]{display:flex;flex-direction:column}.form-column[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.form-column[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{font-size:1rem}.field-row[_ngcontent-%COMP%]{display:grid;align-items:flex-end;grid-template-columns:1fr 2.5rem;gap:.5rem}.form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:3fr 1fr;gap:.5rem;align-items:flex-end}.form-wrap[_ngcontent-%COMP%]{display:grid;grid-template-columns:2fr 2.5rem;gap:.5rem;align-items:flex-end}.remote-volume-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.row-inputs[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.row-inputs[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1 0}.advanced-option[_ngcontent-%COMP%]{display:grid;gap:.5rem;grid-template-columns:1fr 1fr 40px;align-items:flex-end}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};var oi=["formRef"];function ri(n,i){if(n&1&&(a(0,"spk-option",38),c(1),r()),n&2){let e=i.$implicit;_("value",e.key),s(),b(e.label)}}function ai(n,i){if(n&1){let e=P();a(0,"div",26)(1,"spk-form-field")(2,"label",27),A(3,8),r(),a(4,"input",28,1),C("focus",function(){S(e);let o=Fe(5);return T(o.showPicker())}),r(),a(6,"spk-icon",29),c(7,"clock"),r()(),a(8,"spk-form-field"),m(9,"label",30),a(10,"input",31,2),C("focus",function(){S(e);let o=Fe(11);return T(o.showPicker())}),r(),a(12,"spk-icon",29),c(13,"calendar"),r()()(),K(14,32),a(15,"div",33)(16,"spk-form-field")(17,"label",34),A(18,9),r(),m(19,"input",35),r(),a(20,"spk-select",36),m(21,"input",37),M(22,ri,2,2,"spk-option",38,$),r()(),a(24,"app-toggle-card",39),K(25,40),A(26,10),X(),a(27,"div",41)(28,"spk-toggle",21),E(29,11),m(30,"input",42),D(),r(),a(31,"spk-toggle",21),E(32,12),m(33,"input",43),D(),r(),a(34,"spk-toggle",21),E(35,13),m(36,"input",44),D(),r(),a(37,"spk-toggle",21),E(38,14),m(39,"input",45),D(),r(),a(40,"spk-toggle",21),E(41,15),m(42,"input",46),D(),r(),a(43,"spk-toggle",21),E(44,16),m(45,"input",47),D(),r(),a(46,"spk-toggle",21),E(47,17),m(48,"input",48),D(),r()()(),X()}if(n&2){let e=p();s(20),_("displayFn",e.displayFn),s(2),R(e.unitOptions),s(2),_("disallowToggle",!0)}}var Q=new ee,jt=[{key:"s",label:$localize`Seconds`},{key:"m",label:$localize`Minutes`},{key:"h",label:$localize`Hours`},{key:"D",label:$localize`Days`},{key:"W",label:$localize`Weeks`},{key:"M",label:$localize`Months`},{key:"Y",label:$localize`Years`}],qt=(n={autoRun:!1,nextTime:{time:"13:00",date:new Date().toISOString().split("T")[0]},runAgain:{repeatValue:1,repeatUnit:"D",allowedDays:{mon:!1,tue:!1,wed:!1,thu:!1,fri:!1,sat:!1,sun:!1}}})=>Q.group({autoRun:Q.control(n.autoRun),nextTime:Q.group({time:Q.control(n.nextTime.time),date:Q.control(n.nextTime.date)}),runAgain:Q.group({repeatValue:Q.control(n.runAgain.repeatValue),repeatUnit:Q.control(n.runAgain.repeatUnit),allowedDays:Q.group({mon:Q.control(n.runAgain.allowedDays.mon),tue:Q.control(n.runAgain.allowedDays.tue),wed:Q.control(n.runAgain.allowedDays.wed),thu:Q.control(n.runAgain.allowedDays.thu),fri:Q.control(n.runAgain.allowedDays.fri),sat:Q.control(n.runAgain.allowedDays.sat),sun:Q.control(n.runAgain.allowedDays.sun)})})}),yt=class n{#e=y(le);#t=y(te);#i=y(ge);formRef=me.required("formRef");scheduleForm=this.#e.scheduleForm;scheduleFormSignal=this.#e.scheduleFormSignal;unitOptions=jt;displayFn(i){let e=jt.find(t=>t.key===i);return e?`${e.label}`:""}goBack(){this.#t.navigate(["source-data"],{relativeTo:this.#i.parent})}next(){this.#t.navigate(["options"],{relativeTo:this.#i.parent})}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=J({type:n,selectors:[["app-schedule"]],viewQuery:function(e,t){e&1&&ue(t.formRef,oi,5),e&2&&de()},decls:18,vars:2,consts:()=>{let i;i=$localize`Schedule`;let e;e=$localize` Automatically run backups ${"\uFFFD#7\uFFFD\uFFFD/#7\uFFFD"}:TAG_INPUT:`;let t;t=$localize`If a date was missed, the job will run as soon as possible.`;let o;o=$localize`${"\uFFFD#14\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#14\uFFFD"}:CLOSE_TAG_SPK_ICON: Go back `;let l;l=$localize`${"\uFFFD#17\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#17\uFFFD"}:CLOSE_TAG_SPK_ICON: Continue `;let d;d=$localize`Next time`;let k;k=$localize`Run again every`;let I;I=$localize`Allowed days`;let h;h=$localize` Monday ${"\uFFFD#30\uFFFD\uFFFD/#30\uFFFD"}:TAG_INPUT:`;let Y;Y=$localize` Tuesday ${"\uFFFD#33\uFFFD\uFFFD/#33\uFFFD"}:TAG_INPUT:`;let Z;Z=$localize` Wednesday ${"\uFFFD#36\uFFFD\uFFFD/#36\uFFFD"}:TAG_INPUT:`;let U;U=$localize` Thursday ${"\uFFFD#39\uFFFD\uFFFD/#39\uFFFD"}:TAG_INPUT:`;let B;B=$localize` Friday ${"\uFFFD#42\uFFFD\uFFFD/#42\uFFFD"}:TAG_INPUT:`;let j;j=$localize` Saturday ${"\uFFFD#45\uFFFD\uFFFD/#45\uFFFD"}:TAG_INPUT:`;let N;return N=$localize` Sunday ${"\uFFFD#48\uFFFD\uFFFD/#48\uFFFD"}:TAG_INPUT:`,[["formRef",""],["timeRef",""],["dateRef",""],i,e,t,o,l,d,k,I,h,Y,Z,U,B,j,N,[3,"submit","formGroup"],[1,"title-30"],[1,"toggle-wrap"],[1,"raised","primary"],["type","checkbox","formControlName","autoRun"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"],["formGroupName","nextTime",1,"row-inputs"],["for","time"],["type","time","id","time","formControlName","time",3,"focus"],["suffix",""],["for","date"],["type","date","id","date","formControlName","date",3,"focus"],["formGroupName","runAgain"],[1,"row-inputs"],["for","repeatValue"],["type","number","id","repeatValue","formControlName","repeatValue"],[3,"displayFn"],["type","text","id","repeatUnit","formControlName","repeatUnit"],[3,"value"],["formGroupName","allowedDays",3,"disallowToggle"],["title",""],[1,"days-wrap"],["type","checkbox","formControlName","mon"],["type","checkbox","formControlName","tue"],["type","checkbox","formControlName","wed"],["type","checkbox","formControlName","thu"],["type","checkbox","formControlName","fri"],["type","checkbox","formControlName","sat"],["type","checkbox","formControlName","sun"]]},template:function(e,t){if(e&1){let o=P();a(0,"form",18,0),C("submit",function(){return S(o),T(t.next())}),a(2,"h3",19),A(3,3),r(),a(4,"div",20)(5,"spk-toggle",21),E(6,4),m(7,"input",22),D(),r(),a(8,"p"),A(9,5),r()(),F(10,ai,49,2),a(11,"div",23)(12,"button",24),C("click",function(){return S(o),T(t.goBack())}),E(13,6),m(14,"spk-icon"),D(),r(),a(15,"button",25),E(16,7),m(17,"spk-icon"),D(),r()()()}if(e&2){let o;_("formGroup",t.scheduleForm),s(10),g((o=t.scheduleFormSignal())!=null&&o.autoRun?10:-1)}},dependencies:[Ee,fe,ne,Ie,xe,ie,Ce,Se,Te,$e,re,se,ae,Re,oe,Me,we],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:32.5rem;padding:2.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.toggle-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.row-inputs[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.row-inputs[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1 0}.days-wrap[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};function si(n,i){if(n&1&&(a(0,"spk-option",2),c(1),r()),n&2){let e=i.$implicit;_("value",e.value),s(),b(e.key)}}function li(n,i){if(n&1&&(a(0,"spk-option",2),c(1),r()),n&2){let e=i.$implicit;_("value",e.value),s(),b(e.key)}}function pi(n,i){if(n&1){let e=P();a(0,"spk-select",0)(1,"input",5),C("ngModelChange",function(o){S(e);let l=p(2);return T(l.updateStateExpression(o))}),r(),M(2,li,2,2,"spk-option",2,$),r()}if(n&2){let e,t=p(2);_("hideClearButton",!0)("displayFn",t.displayFn),s(),_("ngModel",(e=t.pathState())==null?null:e.expression),s(),R(t.fileGroupOptions())}}function ci(n,i){if(n&1){let e=P();a(0,"spk-form-field")(1,"input",5),C("ngModelChange",function(o){S(e);let l=p(2);return T(l.updateStateExpression(o))}),r()()}if(n&2){let e,t=p(2);s(),_("ngModel",(e=t.pathState())==null?null:e.expression)}}function _i(n,i){if(n&1){let e=P();a(0,"spk-select",0)(1,"input",1),C("ngModelChange",function(o){S(e);let l=p();return T(l.updateStateType(o))}),r(),M(2,si,2,2,"spk-option",2,$),r(),F(4,pi,4,3,"spk-select",0)(5,ci,2,1,"spk-form-field"),a(6,"div",3),C("click",function(){S(e);let o=p();return T(o.removeFilter())}),a(7,"spk-icon",4),c(8,"x-circle"),r()()}if(n&2){let e,t,o=p();_("hideClearButton",!0)("displayFn",o.displayFn),s(),_("ngModel",(e=o.pathState())==null?null:e.type),s(),R(o.expressionOptions()),s(2),g(((t=o.pathState())==null?null:t.type)==="-FileGroup"||((t=o.pathState())==null?null:t.type)==="+FileGroup"?4:5)}}var Qt=[{key:"Excludes folders where name contains",value:"-FolderNameIncludes"},{key:"Excludes folder",value:"-Folder"},{key:"Excludes files where name contains",value:"-FileNameIncludes"},{key:"Excludes file extension",value:"-Extension"},{key:"Excludes files where name matches regex",value:"-Regex"},{key:"Includes files where name matches regex",value:"+Regex"},{key:"Excludes file group",value:"-FileGroup"},{key:"Includes expression",value:"+Expression"},{key:"Excludes expression",value:"-Expression"}],mi=[{key:"Applications",value:"Applications"},{key:"CacheFiles",value:"Cache Files"},{key:"TemporaryFiles",value:"Temporary Files"},{key:"OperatingSystem",value:"Operating System"},{key:"SystemFiles",value:"System Files"},{key:"DefaultExcludes",value:"Standard Excludes"}],ft=class n{path=ot.required();pathChange=Ye();remove=Ye();expressionOptions=x(Qt);fileGroupOptions=x(mi);pathState=x(null);typeState=L(()=>{let i=this.pathState();return i?i.type:null});pathEffect=at(()=>{let i=this.path(),e=i.slice(1),t=i.startsWith("-")?"-":"+";return e.startsWith("/")&&e.endsWith("/")?this.pathState.set({type:`${t}Folder`,path:e,expression:e}):e.startsWith("*")&&e.endsWith("*/")?this.pathState.set({type:`${t}FolderNameIncludes`,path:e,expression:e.slice(1,-2)}):e.startsWith("[.*")&&e.endsWith("[^\\/]*]")?this.pathState.set({type:`${t}FileNameIncludes`,path:e,expression:e.slice(3,-7)}):e.startsWith("{")&&e.endsWith("}")?this.pathState.set({type:`${t}FileGroup`,path:e,expression:e.slice(1,-1)}):e.startsWith("[")&&e.endsWith("]")?this.pathState.set({type:`${t}Regex`,path:e,expression:e.slice(1,-1)}):e.startsWith("*.")?this.pathState.set({type:`${t}Extension`,path:e,expression:e.slice(2)}):this.pathState.set({type:`${t}Expression`,path:e,expression:e})});updateStateType(i){this.pathState.update(e=>(e.type=i,e.path=this.#t(e),e)),this.#e()}updateStateExpression(i){this.pathState.update(e=>(e.expression=i,e.path=this.#t(e),e)),this.#e()}#e(){setTimeout(()=>this.pathChange.emit(this.pathState().path))}#t(i){let e=i.type.slice(0,1),t=i.type.slice(1);if(t==="Folder"){let o=i.expression.endsWith("/"),l=i.expression.startsWith("/");return o&&l?`${e}${i.expression}`:o?`${e}${i.expression}/`:l?`${e}/${i.expression}`:`${e}/${i.expression}/`}return t==="FolderNameIncludes"?`${e}*${i.expression}*/`:t==="FileNameIncludes"?`${e}[.*${i.expression}[^\\/]*]`:t==="FileGroup"?`${e}{${i.expression}}`:t==="Regex"?`${e}[${i.expression}]`:t==="Extension"?`${e}*.${i.expression}`:`${e}${i.expression}`}removeFilter(){this.remove.emit()}displayFn(i){let e=Qt.find(t=>t.value===i);return e?e.key:""}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=J({type:n,selectors:[["app-filter"]],inputs:{path:[1,"path"]},outputs:{pathChange:"pathChange",remove:"remove"},decls:1,vars:1,consts:()=>{let i;return i=$localize`Select an option...`,[[3,"hideClearButton","displayFn"],["type","text","placeholder",i,3,"ngModelChange","ngModel"],[3,"value"],[1,"filter-removal",3,"click"],[1,"spk-primary"],["type","text",3,"ngModelChange","ngModel"]]},template:function(e,t){e&1&&F(0,_i,9,4),e&2&&g(t.pathState()?0:-1)},dependencies:[_t,ne,ie,Vt,se,ae,oe,re],styles:["[_nghost-%COMP%]{display:grid;grid-template-columns:13.125rem 1fr 1.875rem;gap:.5rem;align-items:flex-end}[_nghost-%COMP%] spk-select[_ngcontent-%COMP%]{--miw: initial}[_nghost-%COMP%] .filter-removal[_ngcontent-%COMP%]{cursor:pointer;display:flex;align-items:center;justify-content:center;height:2.5rem;flex:0 0}"],changeDetection:0})};var ui=["formRef"];function di(n,i){if(n&1){let e=P();a(0,"app-filter",42),C("pathChange",function(o){let l=S(e).$index,d=p(2);return T(d.patchPathAt(o,l))})("remove",function(){let o=S(e).$index,l=p(2);return T(l.removePathAt(o))}),r()}if(n&2){let e=i.$implicit;_("path",e)}}function Fi(n,i){if(n&1&&M(0,di,1,1,"app-filter",41,$),n&2){let e=p();R(e.pathArray())}}function gi(n,i){if(n&1&&(a(0,"spk-option",45),c(1),r()),n&2){let e=i.$implicit;_("value",e),s(),b(e)}}function Ci(n,i){if(n&1&&(a(0,"div",40)(1,"spk-form-field"),m(2,"input",43),r(),a(3,"spk-select"),m(4,"input",44),M(5,gi,2,2,"spk-option",45,$),r()()),n&2){let e=p();s(5),R(e.sizeOptions())}}var Pe=new ee,fi=["Bytes","KB","MB","GB","TB","PB"],Yt=(n={path:"",filters:[],excludes:{hidden:!1,system:!1,temporary:!1,filesLargerThan:null}})=>Pe.group({path:Pe.control(n.path),excludes:Pe.group({hidden:Pe.control(n.excludes.hidden),system:Pe.control(n.excludes.system),temporary:Pe.control(n.excludes.temporary),filesLargerThan:Pe.group({size:Pe.control(null),unit:Pe.control(null)})})}),Pt=class n{#e=y(le);#t=y(te);#i=y(ge);formRef=me.required("formRef");sourceDataForm=this.#e.sourceDataForm;sourceDataFormSignal=this.#e.sourceDataFormSignal;newPathCtrl=new pt("");filesLargerThan=L(()=>this.sourceDataFormSignal()?.excludes?.filesLargerThan?.size!==null);sizeOptions=x(fi);pathSignal=W(this.sourceDataForm.controls.path.valueChanges);pathArray=L(()=>this.pathSignal()?.split("\0").filter(i=>i.startsWith("-")||i.startsWith("+"))??[]);addFilter(i="-*"){let e=this.sourceDataForm.controls.path.value;this.sourceDataForm.controls.path.setValue(`${e}\0${i}`)}patchPathAt(i,e){let o=this.sourceDataForm.controls.path.value.split("\0").filter(d=>!d.startsWith("-")&&!d.startsWith("+")).join("\0"),l=this.pathArray().map((d,k)=>k===e?`${i}`:`${d}`).join("\0");this.sourceDataForm.controls.path.setValue(`${o}\0${l}`)}removePathAt(i){let t=this.sourceDataForm.controls.path.value.split("\0").filter(l=>!l.startsWith("-")&&!l.startsWith("+")).join("\0"),o=this.pathArray().filter((l,d)=>d!==i).join("\0");this.sourceDataForm.controls.path.setValue(`${t}\0${o}`)}getPath(){return this.sourceDataForm.value.path??null}toggleFilesLargerThan(){this.sourceDataForm.controls.excludes.value.filesLargerThan?.size===null?this.sourceDataForm.controls.excludes.controls.filesLargerThan.setValue({size:50,unit:"MB"}):this.sourceDataForm.controls.excludes.controls.filesLargerThan.setValue({size:null,unit:null})}addNewPath(){let i=this.sourceDataForm.controls.path.value;this.sourceDataForm.controls.path.setValue(`${i}\0${this.newPathCtrl.value}`),this.newPathCtrl.setValue("")}goBack(){this.#t.navigate(["destination"],{relativeTo:this.#i.parent})}next(){this.#t.navigate(["schedule"],{relativeTo:this.#i.parent})}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=J({type:n,selectors:[["app-source-data"]],viewQuery:function(e,t){e&1&&ue(t.formRef,ui,5),e&2&&de()},decls:55,vars:12,consts:()=>{let i;i=$localize`Path`;let e;e=$localize`Add a direct path`;let t;t=$localize`Hidden files`;let o;o=$localize`System files`;let l;l=$localize`Temporary files`;let d;d=$localize`Source Data`;let k;k=$localize`Folder path`;let I;I=$localize`${"\uFFFD#12\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SPK_ICON: Go back `;let h;h=$localize`${"\uFFFD#15\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#15\uFFFD"}:CLOSE_TAG_SPK_ICON: Continue `;let Y;Y=$localize`Source Data`;let Z;Z=$localize`Add Path`;let U;U=$localize`Add a path directly from your machine.`;let B;B=$localize`Filters`;let j;j=$localize`Customize your filters.`;let N;N=$localize`Add filter`;let u;u=$localize`Exclude`;let f;f=$localize`Choose if there’s any files you want to exclude.`;let H;H=$localize` Hidden files ${"\uFFFD#45\uFFFD\uFFFD/#45\uFFFD"}:TAG_INPUT:`;let O;O=$localize` System files ${"\uFFFD#48\uFFFD\uFFFD/#48\uFFFD"}:TAG_INPUT:`;let ce;ce=$localize` Temporary files ${"\uFFFD#51\uFFFD\uFFFD/#51\uFFFD"}:TAG_INPUT:`;let Ne;Ne=$localize` Files larger than `;let Ge;return Ge=$localize`Select an option...`,[["formRef",""],d,k,I,h,Y,Z,U,B,j,N,u,f,H,O,ce,Ne,[3,"submit","formGroup"],[1,"left"],[1,"title-30"],[1,"fill",3,"multiSelect","startingPath","showFiles"],["for","path"],["type","text","id","path","tabindex","4","placeholder",i,"formControlName","path"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"],[1,"right"],[3,"disallowToggle"],["title",""],["description",""],[1,"row-inputs"],["type","text","placeholder",e,3,"formControl"],["spk-button","","type","button",1,"raised","primary",3,"click"],["type","button","spk-button","","action","",3,"click"],["formGroupName","excludes",3,"disallowToggle"],[1,"raised","primary"],["type","checkbox","placeholder",t,"formControlName","hidden"],["type","checkbox","placeholder",o,"formControlName","system"],["type","checkbox","placeholder",l,"formControlName","temporary"],[1,"raised","primary",3,"click"],["formGroupName","filesLargerThan",1,"row-inputs"],[3,"path"],[3,"pathChange","remove","path"],["type","number","formControlName","size"],["type","text","formControlName","unit","placeholder",Ge],[3,"value"]]},template:function(e,t){if(e&1){let o=P();a(0,"form",17,0),C("submit",function(){return S(o),T(t.next())}),a(2,"div",18)(3,"h3",19),A(4,1),r(),a(5,"app-file-tree",20)(6,"label",21),A(7,2),r(),m(8,"input",22),r(),a(9,"div",23)(10,"button",24),C("click",function(){return S(o),T(t.goBack())}),E(11,3),m(12,"spk-icon"),D(),r(),a(13,"button",25),E(14,4),m(15,"spk-icon"),D(),r()()(),a(16,"div",26)(17,"h3",19),A(18,5),r(),a(19,"app-toggle-card",27),K(20,28),A(21,6),X(),a(22,"p",29),A(23,7),r(),a(24,"div",30)(25,"spk-form-field"),m(26,"input",31),r(),a(27,"button",32),C("click",function(){return S(o),T(t.addNewPath())}),a(28,"spk-icon"),c(29,"plus"),r()()()(),a(30,"app-toggle-card",27),K(31,28),A(32,8),X(),a(33,"p",29),A(34,9),r(),a(35,"button",33),C("click",function(){return S(o),T(t.addFilter())}),A(36,10),r(),F(37,Fi,2,0),r(),a(38,"app-toggle-card",34),K(39,28),A(40,11),X(),a(41,"p",29),A(42,12),r(),a(43,"spk-toggle",35),E(44,13),m(45,"input",36),D(),r(),a(46,"spk-toggle",35),E(47,14),m(48,"input",37),D(),r(),a(49,"spk-toggle",35),E(50,15),m(51,"input",38),D(),r(),a(52,"spk-toggle",39),C("click",function(){return S(o),T(t.toggleFilesLargerThan())}),A(53,16),r(),F(54,Ci,7,0,"div",40),r()()()}if(e&2){let o;_("formGroup",t.sourceDataForm),s(5),_("multiSelect",!0)("startingPath",t.getPath())("showFiles",!0),s(14),_("disallowToggle",!0),s(7),_("formControl",t.newPathCtrl),s(4),_("disallowToggle",!0),s(7),g((o=t.pathSignal())!=null&&o.length?37:-1),s(),_("disallowToggle",!0),s(14),Ae("active",t.filesLargerThan()),s(2),g(t.filesLargerThan()?54:-1)}},dependencies:[_t,fe,ne,Ie,xe,ie,Ce,Ee,ct,Se,Te,$e,re,ae,oe,Me,se,Re,Xe,we,ft],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;width:100%;flex:1 0;overflow:hidden}form[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;flex:1 0;overflow:hidden}.right[_ngcontent-%COMP%], .left[_ngcontent-%COMP%]{flex:1 0;display:flex;flex-direction:column;gap:1.5rem}.left[_ngcontent-%COMP%]{padding:2.5rem;overflow:hidden;border-right:1px solid var(--base-level-40)}.right[_ngcontent-%COMP%]{padding:2.5rem 1.5rem;overflow:auto}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.row-inputs[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr min-content;gap:.5rem}"],changeDetection:0})};var pe=new ee,le=class n{#e=y(te);#t=y(lt);#i=y(Be);#o=y(Ft);generalForm=Ht();sourceDataForm=Yt();scheduleForm=qt();destinationForm=Zt();optionsForm=Wt();isDraft=x(!1);backupId=x(null);isSubmitting=x(!1);finishedLoading=x(!1);backupDefaults=x(null);isNew=L(()=>this.backupId()==="new");selectedOptions=x([]);selectedAdvancedFormPair=x([]);destinationFormPair=x({oauthField:null,custom:[],dynamic:[],advanced:[]});notSelectedAdvancedFormPair=L(()=>{let i=this.destinationFormPair()?.advanced??[],e=this.selectedAdvancedFormPair()??[];return i.filter(t=>e.findIndex(o=>o.name===t.name)===-1)});selectedHttpOptions=x([]);notSelectedHttpOptions=L(()=>{let i=this.httpOptions(),e=this.selectedHttpOptions()??[];return i.filter(t=>e.findIndex(o=>o.name===t.name)===-1)});sourceDataFormSignal=W(this.sourceDataForm.valueChanges);destinationFormSignal=W(this.destinationForm.valueChanges);generalFormSignal=W(this.generalForm.valueChanges);encryptionFieldSignal=W(this.generalForm.controls.encryption.valueChanges);scheduleFormSignal=W(this.scheduleForm.valueChanges);destinationOptions=L(()=>this.#t.backendModules()??[]);httpOptions=L(()=>this.#t.systemInfo()?.GenericModules?.find(i=>i.Key==="http-options")?.Options?.map(this.#n)??[]);advancedOptions=L(()=>this.#t.systemInfo()?.Options?.map(this.#n)??[]);#n(i){return{name:i.Name,type:i.Type,shortDescription:i.ShortDescription??void 0,longDescription:i.LongDescription??void 0,options:i.ValidValues}}encryptionOptions=L(()=>{let i=this.#t.systemInfo()?.EncryptionModules??[];return[ht,...i]});nonSelectedOptions=L(()=>this.advancedOptions().sort((i,e)=>i?.name&&e?.name?i?.name.localeCompare(e?.name):0).filter(i=>this.selectedOptions()?.findIndex(e=>e.name===i.name)===-1));addAdvancedFormPairByName(i,e,t){let o=this.notSelectedAdvancedFormPair().find(l=>l.name===i);o&&this.addAdvancedFormPair(o,e,t)}addHttpOptionByName(i,e,t){let o=this.notSelectedHttpOptions().find(l=>l.name===i);o&&this.addHttpOption(o,e,t)}addAdvancedFormPair(i,e,t){let o=this.destinationForm.controls.destinations.controls.at(e)?.controls.advanced,l=t??i.defaultValue;this.createFormField(o,i,l),this.selectedAdvancedFormPair.set([...this.selectedAdvancedFormPair(),i])}addHttpOption(i,e,t){let o=this.destinationForm.controls.destinations.controls.at(e)?.controls.advanced,l=t??i.defaultValue;this.createFormField(o,i,l),this.selectedHttpOptions.set([...this.selectedHttpOptions(),i])}removeAdvancedFormPair(i,e){this.destinationForm.controls.destinations.controls.at(e)?.controls.advanced.removeControl(i.name),this.selectedAdvancedFormPair().findIndex(o=>o.name===i.name)!==-1?this.selectedAdvancedFormPair.update(o=>(o=o.filter(l=>l.name!==i.name),o)):this.selectedHttpOptions.update(o=>(o=o.filter(l=>l.name!==i.name),o))}removeHttpOption(i,e){this.destinationForm.controls.destinations.controls.at(e)?.controls.advanced.removeControl(i.name),this.selectedHttpOptions.update(t=>(t=t.filter(o=>o.name!==i.name),t))}submit(){this.isSubmitting.set(!0);let i=this.#l(),e=this.backupId();e==="new"||!e||this.isDraft()?this.#i.postApiV1Backups({requestBody:i}).pipe(Qe(()=>this.isSubmitting.set(!1))).subscribe({next:t=>{console.log("submitted res",t),this.exit()},error:t=>{console.error("submitted error",t)}}):this.#i.putApiV1BackupById({id:e,requestBody:i}).pipe(Qe(()=>this.isSubmitting.set(!1))).subscribe({next:t=>{console.log("submitted res",t),this.exit()},error:t=>{console.error("submitted error",t)}})}exit(){this.#c(),this.#e.navigate(["/"])}updateFieldsFromTargetUrl(i){this.#r(),setTimeout(()=>{this.#s(i)})}#r(){this.destinationFormPair.set({oauthField:null,custom:[],dynamic:[],advanced:[]}),this.selectedAdvancedFormPair.set([]),this.selectedHttpOptions.set([]),this.destinationForm.controls.destinations.clear(),this.destinationForm.reset()}mapSourceDataToForm(i){let e=i.Sources??"",t=i.Filters?.map(h=>`${h.Include?"":"-"}${h.Expression}`)??[],o=i.Settings?.find(h=>h.Name==="--exclude-files-attributes")?.Value??"",l=i.Settings?.find(h=>h.Name==="--skip-files-larger-than")??null,d=l?.Value.replace(/[0-9]/g,"")??null,k=l?.Value.replace(/[^0-9]/g,"")??null,I={path:[...e,...t].join("\0"),excludes:{hiddenFiles:o.includes("hidden"),systemFiles:o.includes("system"),tempFiles:o.includes("temporary"),filesLargerThan:d&&k?{size:parseInt(k),unit:d.toUpperCase()}:null}};this.sourceDataForm.patchValue(I)}mapDestinationToForm(i){let e=i.TargetURL?Nt(i.TargetURL):null;e&&this.addDestinationFormGroup(e.destinationType,{custom:e.custom,dynamic:e.dynamic,advanced:e.advanced},!0)}#s(i){let e=Nt(i);e&&this.addDestinationFormGroup(e.destinationType,{custom:e.custom,dynamic:e.dynamic,advanced:e.advanced},!0)}mapGeneralToForm(i){let e=i.Settings?.find(l=>l.Name==="encryption-module"),t=e?.Value&&e.Value.length?e.Value:"",o={name:i.Name??"",description:i.Description??""};t&&t!==""&&(o.encryption=t),this.generalForm.patchValue(o)}mapScheduleToForm(i){if(!i){this.scheduleForm.patchValue({autoRun:!0});return}let e=this.#o.fromString(i.Repeat)??null,o={nextTime:this.#p(i.Time),runAgain:{repeatValue:e?.value??1,repeatUnit:e?.unit??"D",allowedDays:{mon:i.AllowedDays?.includes("mon")??!1,tue:i.AllowedDays?.includes("tue")??!1,wed:i.AllowedDays?.includes("wed")??!1,thu:i.AllowedDays?.includes("thu")??!1,fri:i.AllowedDays?.includes("fri")??!1,sat:i.AllowedDays?.includes("sat")??!1,sun:i.AllowedDays?.includes("sun")??!1}}};this.scheduleForm.patchValue(o)}mapOptionsToForms(i){let e=["--no-encryption","--exclude-files-attributes","--skip-files-larger-than"],t=this.advancedOptions();i.Settings?.forEach(o=>{if(o.Name==="encryption-module")return this.generalForm.controls.encryption.setValue(o.Value??"");if(!(o.Name&&e.includes(o.Name))){if(o.Name==="dblock-size"){let l=o.Value?.replace(/[^0-9]/g,""),d=o.Value?.replace(/[0-9]/g,"");return this.optionsForm.controls.remoteVolumeSize.setValue({size:l?parseInt(l):null,unit:d?d.toUpperCase():null})}if(o.Name&&o.Value){let l=t.find(d=>d.name===o.Name);if(!l)return;this.addOptionToFormGroup(l,o.Value)}}})}getCurrentTargetUrl(){return this.#a(this.destinationForm.controls.destinations)}#l(){let i=this.generalForm.value,e=this.optionsForm.value,t=this.scheduleForm.value,o=this.sourceDataForm.value,d=this.destinationForm.value.destinations?.length?this.#a(this.destinationForm.controls.destinations):[],k=null;t.runAgain?.repeatUnit&&t.runAgain?.repeatValue&&(k=this.#o.toString(t.runAgain.repeatValue,t.runAgain.repeatUnit));let I=t.runAgain?.allowedDays?Object.entries(t.runAgain?.allowedDays).filter(([u,f])=>f).map(([u,f])=>u):[],h=o.path?.split("\0")??[],Y=i.encryption===""?{Name:"--no-encryption",Value:"True"}:{Name:"encryption-module",Value:i.encryption??null},Z=this.advancedOptions(),U=Object.entries(e.advancedOptions??{}).filter(([u,f])=>u&&f).map(([u,f])=>{let H=Z.find(O=>O.name===u);return H?.type==="Size"?{Name:u,Value:`${f.size}${f.unit.toLowerCase()}`}:H?.type==="Integer"?{Name:u,Value:f.toString()}:H?.type==="Boolean"?{Name:u,Value:f.toString()}:{Name:u,Value:f}}),B=[Y,...U],j=Object.entries(o.excludes??{}).filter(([u,f])=>f&&u!=="filesLargerThan").map(([u])=>u),N=o.excludes?.filesLargerThan;return j.length&&B.push({Name:"--exclude-files-attributes",Value:j.join(",")}),N&&N.size!==null&&N.unit!==null&&B.push({Name:"--skip-files-larger-than",Value:`${N.size}${N.unit}`}),{Backup:{Name:i.name,Description:i.description,TargetURL:d[0]??null,Sources:h.filter(u=>!u.startsWith("-")),Settings:B,Filters:h.filter(u=>u.startsWith("-")).map((u,f)=>({Order:f,Include:!1,Expression:u.slice(1)}))},Schedule:t.autoRun?{Repeat:k,Time:t.nextTime?.date?new Date(`${t.nextTime.date}T${t.nextTime?.time||"00:00:00"}`).toISOString():null,AllowedDays:I}:null}}#a(i){return i.controls.map(e=>gt(e.value))}#p(i){if(!i||i?.indexOf("T")===-1)return{time:i??"13:00"};let e=new Date(i),t={time:`${(""+e.getHours()).padStart(2,"0")}:${(""+e.getMinutes()).padStart(2,"0")}`};return i.indexOf("T")!==-1&&(t.date=e.toISOString().split("T")[0]),t}removeOptionFromFormGroup(i){let e=i.name;e&&(this.optionsForm.controls.advancedOptions.removeControl(e),this.selectedOptions.update(t=>(t=t.filter(o=>o.name!==e),t)))}addOptionToFormGroup(i,e){let t=this.optionsForm.controls.advancedOptions;this.createFormField(t,i,e??i.defaultValue),this.selectedOptions.update(o=>(o.push(i),o))}createFormField(i,e,t){if(e.type==="String"||e.type==="FileTree"||e.type==="FolderTree"||e.type==="Password"||e.type==="Enumeration"||e.type==="NonValidatedSelectableString"||e.type==="Path"){i.addControl(e.name,pe.control(t));return}if(e.type==="Size"){let o=t.replace(/[0-9]/g,""),l=t.replace(/[^0-9]/g,"");i.addControl(e.name,pe.group({size:pe.control(l?parseInt(l):50),unit:pe.control(o?o.toUpperCase():"MB")}));return}if(e.type==="Integer"){i.addControl(e.name,pe.control(t?parseInt(t):0));return}if(e.type==="Boolean"){i.addControl(e.name,pe.control(t==="true"));return}if(e.type==="Flags"){i.addControl(e.name,pe.control(t??""));return}if(e.type==="Timespan"){i.addControl(e.name,pe.control(t,[Oe.pattern(/([-+]?\d{1,3}[smhDWMY])+/)]));return}}addDestinationFormGroup(i,e,t=!1){let o=this.destinationOptions().find(N=>N.Key===i),l=this.httpOptions();if(!o||!o.Options)return;let d=tt.hasOwnProperty(i)&&tt[i],k=d&&d.oauthField?d.oauthField:null,I=d&&d.customFields?d.customFields:{},h=d&&d.dynamicFields?d.dynamicFields:[],Y=d&&d.advancedFields?d.advancedFields:[],Z=d&&d.ignoredAdvancedFields?d.ignoredAdvancedFields:[];this.destinationFormPair.set({oauthField:k,custom:[],dynamic:[],advanced:[]});let U=pe.group({}),B=pe.group({}),j=pe.group({});I&&Object.entries(I).forEach(([N,u],f)=>{let ce=u,{formElement:H}=ce,O=xt(ce,["formElement"]);U.addControl(N,H(e?.custom[N])),this.destinationFormPair.update(Ne=>(Ne.custom.push(q({order:900+f},O)),Ne))});for(let N=0;N<o.Options.length;N++){let u=o.Options[N];if(u.Deprecated)continue;let f=h.find(H=>H===u.Name||H.name===u.Name);if(f){let H=f&&typeof f!="string",O={name:u.Name,type:u.Type,shortDescription:u.ShortDescription??void 0,longDescription:u.LongDescription??void 0,options:u.ValidValues,order:900+N},ce=H?q(q({},O),f):O,Ge=e?.dynamic[u.Name]??u.DefaultValue;this.createFormField(B,ce,Ge),this.destinationFormPair.update(w=>(w.dynamic.push(ce),w))}else{if(Z.find(_e=>_e===u.Name))continue;let O=Y.find(_e=>_e===u.Name||_e.name===u.Name),ce=O&&typeof O!="string",Ne=e?.advanced[u.Name],Ge=Ne??u.DefaultValue,w={name:u.Name,type:u.Type,shortDescription:u.ShortDescription??void 0,longDescription:u.LongDescription??void 0,options:u.ValidValues,defaultValue:Ge,order:900+N},Et=ce?q(q({},w),O):w;t&&Ne&&(this.createFormField(j,Et,Ge),this.selectedAdvancedFormPair.update(_e=>(_e.push(Et),_e))),this.destinationFormPair.update(_e=>(_e.advanced.push(Et),_e))}}for(let N=0;N<l.length;N++){let u=l[N],f=e?.advanced[u.name],H=f??u.defaultValue;t&&f&&(this.createFormField(j,u,H),this.selectedHttpOptions.update(O=>(O.push(u),O)))}this.destinationFormPair.update(N=>({oauthField:N.oauthField,custom:N.custom.sort((u,f)=>u.order-f.order),dynamic:N.dynamic.sort((u,f)=>u.order-f.order),advanced:N.advanced.sort((u,f)=>u.order-f.order)})),this.destinationForm.controls.destinations.push(Jt({key:o.Key,customGroup:U,dynamicGroup:B,advancedGroup:j}))}#c(){this.generalForm.reset(),this.destinationForm.controls.destinations.clear(),this.destinationForm.reset(),this.sourceDataForm.reset(),this.scheduleForm.reset(),this.optionsForm.reset()}static \u0275fac=function(e){return new(e||n)};static \u0275prov=ke({token:n,factory:n.\u0275fac,providedIn:"root"})};var Si=["formRef"],Ti=(n,i,e,t)=>({index:n,formView:i,formGroupName:"custom",destinationType:e,oauthField:t}),Tt=n=>({$implicit:n}),Ei=(n,i,e,t)=>({index:n,formView:i,formGroupName:"dynamic",destinationType:e,oauthField:t}),Di=(n,i,e,t)=>({index:n,formView:i,formGroupName:"advanced",destinationType:e,oauthField:t}),Ni=(n,i,e,t)=>({index:n,formView:i,formGroupName:"advanced",asHttpOptions:!0,destinationType:e,oauthField:t}),Ai=()=>({maxWidth:"700px",width:"100%"});function hi(n,i){n&1&&(E(0,2,2),m(1,"spk-icon"),D())}function Oi(n,i){n&1&&A(0,2,3)}function yi(n,i){if(n&1){let e=P();E(0,2,1),a(1,"button",24),C("click",function(){S(e);let o=p();return T(o.testDestination())}),F(2,hi,2,0)(3,Oi,1,0),r(),D()}if(n&2){let e=p();s(),Ae("success",e.successfulTest()),s(),g(e.successfulTest()?2:3)}}function Pi(n,i){if(n&1){let e=P();a(0,"p",30),C("click",function(){S(e);let o=p();return T(o.removeDestinationFormGroup(o.destinationCount()-1))}),E(1,5),m(2,"span",31),D(),r()}}function ki(n,i){if(n&1){let e=P();a(0,"div",32)(1,"div",33),C("click",function(){S(e);let o=p();return T(o.addDestinationFormGroup("file"))}),a(2,"h3"),A(3,6),r(),a(4,"p"),A(5,7),r()(),a(6,"div",33),C("click",function(){S(e);let o=p();return T(o.addDestinationFormGroup("gcs"))}),a(7,"h3"),c(8,"Google Cloud Storage"),r(),a(9,"p"),A(10,8),r()(),a(11,"div",33),C("click",function(){S(e);let o=p();return T(o.addDestinationFormGroup("s3"))}),a(12,"h3"),c(13,"S3 compatible bucket"),r(),a(14,"p"),A(15,9),r()(),a(16,"div",33),C("click",function(){S(e);let o=p();return T(o.addDestinationFormGroup("ssh"))}),a(17,"h3"),c(18,"SSH"),r(),a(19,"p"),A(20,10),r()(),a(21,"div",33),C("click",function(){S(e);let o=p();return T(o.addDestinationFormGroup("googledrive"))}),a(22,"h3"),c(23,"Google Drive"),r(),a(24,"p"),A(25,11),r()()(),a(26,"p"),A(27,12),r()}}function xi(n,i){n&1&&be(0)}function Ii(n,i){if(n&1&&F(0,xi,1,0,"ng-container",39),n&2){let e,t=i.$implicit,o=i.$index;p();let l=Fe(29),d=p();_("ngTemplateOutlet",l)("ngTemplateOutletContext",Ve(7,Tt,et(2,Ti,o,t,(e=d.destinationFormSignal())==null||e.destinations==null||e.destinations[0]==null?null:e.destinations[0].destinationType,d.destinationFormPair().oauthField)))}}function $i(n,i){n&1&&be(0)}function Mi(n,i){if(n&1&&F(0,$i,1,0,"ng-container",39),n&2){let e,t=i.$implicit,o=i.$index;p();let l=Fe(29),d=p();_("ngTemplateOutlet",l)("ngTemplateOutletContext",Ve(7,Tt,et(2,Ei,o,t,(e=d.destinationFormSignal())==null||e.destinations==null||e.destinations[0]==null?null:e.destinations[0].destinationType,d.destinationFormPair().oauthField)))}}function Ri(n,i){if(n&1){let e=P();E(0,13,1),a(1,"button",40),C("click",function(){let o=S(e).$implicit,l=p(2);return T(l.addAdvancedFormPair(o,0))}),r(),D()}if(n&2){let e=i.$implicit;s(),Ze(e.name),Je(0)}}function wi(n,i){n&1&&be(0)}function vi(n,i){if(n&1&&F(0,wi,1,0,"ng-container",39),n&2){let e,t=i.$implicit,o=i.$index;p();let l=Fe(29),d=p();_("ngTemplateOutlet",l)("ngTemplateOutletContext",Ve(7,Tt,et(2,Di,o,t,(e=d.destinationFormSignal())==null||e.destinations==null||e.destinations[0]==null?null:e.destinations[0].destinationType,d.destinationFormPair().oauthField)))}}function Gi(n,i){if(n&1){let e=P();E(0,14,1),a(1,"button",40),C("click",function(){let o=S(e).$implicit,l=p(2);return T(l.addHttpOption(o,0))}),r(),D()}if(n&2){let e=i.$implicit;s(),Ze(e.name),Je(0)}}function bi(n,i){n&1&&be(0)}function Vi(n,i){if(n&1&&F(0,bi,1,0,"ng-container",39),n&2){let e,t=i.$implicit,o=i.$index;p();let l=Fe(29),d=p();_("ngTemplateOutlet",l)("ngTemplateOutletContext",Ve(7,Tt,et(2,Ni,o,t,(e=d.destinationFormSignal())==null||e.destinations==null||e.destinations[0]==null?null:e.destinations[0].destinationType,d.destinationFormPair().oauthField)))}}function Li(n,i){if(n&1&&(a(0,"spk-tooltip",51)(1,"spk-icon"),c(2,"question"),r()()),n&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function Ui(n,i){if(n&1&&(a(0,"app-file-tree",43)(1,"label",50),c(2),F(3,Li,3,1,"spk-tooltip",51),r(),m(4,"input",52),r()),n&2){let e,t=p().$implicit,o=p(2);_("startingPath",o.getFormFieldValue(0,t.formGroupName,t.formView.name))("accepts",t.formView.accepts)("showFiles",!0)("showHiddenNodes",!0)("selectFiles",!0),s(),G("for","destination-",t.formGroupName,"-",t.index,"-",t.asHttpOptions?"http":"other",""),s(),v(" ",(e=t.formView.shortDescription)!==null&&e!==void 0?e:t.formView.name," "),s(),g(t.formView.longDescription?3:-1),s(),G("id","destination-",t.formGroupName,"-",t.index,"-",t.asHttpOptions?"http":"other",""),V("formControlName",t.formView.name)}}function Bi(n,i){if(n&1&&(a(0,"spk-tooltip",51)(1,"spk-icon"),c(2,"question"),r()()),n&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function Ki(n,i){if(n&1&&(a(0,"app-file-tree",44)(1,"label",50),c(2),F(3,Bi,3,1,"spk-tooltip",51),r(),m(4,"input",52),r()),n&2){let e,t=p().$implicit,o=p(2);_("startingPath",o.getFormFieldValue(0,t.formGroupName,t.formView.name)),s(),G("for","destination-",t.formGroupName,"-",t.index,"-",t.asHttpOptions?"http":"other",""),s(),v(" ",(e=t.formView.shortDescription)!==null&&e!==void 0?e:t.formView.name," "),s(),g(t.formView.longDescription?3:-1),s(),G("id","destination-",t.formGroupName,"-",t.index,"-",t.asHttpOptions?"http":"other",""),V("formControlName",t.formView.name)}}function Xi(n,i){if(n&1&&(a(0,"spk-tooltip",51)(1,"spk-icon"),c(2,"question"),r()()),n&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function zi(n,i){n&1&&(a(0,"spk-icon",53),c(1,"link"),r())}function Hi(n,i){n&1&&(a(0,"spk-icon",53),c(1,"textbox"),r())}function Wi(n,i){if(n&1&&(a(0,"spk-form-field")(1,"label",50),c(2),F(3,Xi,3,1,"spk-tooltip",51),r(),m(4,"input",52),F(5,zi,2,0,"spk-icon",53)(6,Hi,2,0,"spk-icon",53),r()),n&2){let e,t=p().$implicit;s(),G("for","destination-",t.formGroupName,"-",t.index,"-",t.asHttpOptions?"http":"other",""),s(),v(" ",(e=t.formView.shortDescription)!==null&&e!==void 0?e:t.formView.name," "),s(),g(t.formView.longDescription?3:-1),s(),G("id","destination-",t.formGroupName,"-",t.index,"-",t.asHttpOptions?"http":"other",""),V("formControlName",t.formView.name),s(),g(t.formView.type==="Path"?5:6)}}function ji(n,i){if(n&1){let e=P();a(0,"span",57),C("click",function(){S(e);let o=p(2).$implicit,l=p(2);return T(l.oauthStartTokenCreation(o.destinationType))}),c(1,"AuthID"),r()}}function qi(n,i){n&1&&(a(0,"spk-icon",53),c(1,"password"),r())}function Qi(n,i){if(n&1){let e=P();a(0,"spk-icon",58),C("click",function(){S(e);let o=p(2).$implicit;return T(o.formView.showPassword=!o.formView.showPassword)}),c(1," eye "),r()}}function Yi(n,i){if(n&1){let e=P();a(0,"spk-icon",58),C("click",function(){S(e);let o=p(2).$implicit;return T(o.formView.showPassword=!o.formView.showPassword)}),c(1," eye-slash "),r()}}function Zi(n,i){if(n&1&&(a(0,"spk-form-field")(1,"label",50),c(2),r(),m(3,"input",54),F(4,ji,2,0,"span",55)(5,qi,2,0,"spk-icon",53)(6,Qi,2,0,"spk-icon",56)(7,Yi,2,0,"spk-icon",56),r()),n&2){let e,t=p().$implicit;s(),G("for","destination-",t.formGroupName,"-",t.index,"-",t.asHttpOptions?"http":"other",""),s(),v(" ",(e=t.formView.shortDescription)!==null&&e!==void 0?e:t.formView.name," "),s(),G("id","destination-",t.formGroupName,"-",t.index,"-",t.asHttpOptions?"http":"other",""),V("formControlName",t.formView.name),_("type",t.formView.showPassword?"text":"password"),s(),g(t.oauthField===t.formView.name?4:5),s(2),g(t.formView.showPassword?6:7)}}function Ji(n,i){if(n&1&&(a(0,"spk-tooltip",51)(1,"spk-icon"),c(2,"question"),r()()),n&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function eo(n,i){if(n&1&&(a(0,"spk-option",60),c(1),r()),n&2){let e=i.$implicit;_("value",e),s(),b(e)}}function to(n,i){if(n&1&&(a(0,"spk-select")(1,"label",50),c(2),F(3,Ji,3,1,"spk-tooltip",51),r(),m(4,"input",59),M(5,eo,2,2,"spk-option",60,$),r()),n&2){let e,t=p().$implicit;s(),G("for","destination-",t.formGroupName,"-",t.index,"-",t.asHttpOptions?"http":"other",""),s(),v(" ",(e=t.formView.shortDescription)!==null&&e!==void 0?e:t.formView.name," "),s(),g(t.formView.longDescription?3:-1),s(),G("id","destination-",t.formGroupName,"-",t.index,"-",t.asHttpOptions?"http":"other",""),V("formControlName",t.formView.name),s(),R(t.formView.options)}}function no(n,i){if(n&1&&(a(0,"spk-tooltip",51)(1,"spk-icon"),c(2,"question"),r()()),n&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function io(n,i){if(n&1&&(a(0,"spk-option",60),c(1),r()),n&2){let e=i.$implicit;_("value",e.value),s(),$t(" ",e.key," ",e.value?"("+e.value+")":""," ")}}function oo(n,i){if(n&1&&(a(0,"spk-select",45)(1,"label",50),c(2),F(3,no,3,1,"spk-tooltip",51),r(),m(4,"input",59),K(5,61),M(6,io,2,3,"spk-option",60,$),X(),r()),n&2){let e,t=p().$implicit,o=p(2);_("isFreeText",!0),s(),G("for","destination-",t.formGroupName,"-",t.index,"-",t.asHttpOptions?"http":"other",""),s(),v(" ",(e=t.formView.shortDescription)!==null&&e!==void 0?e:t.formView.name," "),s(),g(t.formView.longDescription?3:-1),s(),G("id","destination-",t.formGroupName,"-",t.index,"-",t.asHttpOptions?"http":"other",""),V("formControlName",t.formView.name),s(2),R(t.formView.loadOptions(o.injector)())}}function ro(n,i){if(n&1&&(a(0,"spk-tooltip",51)(1,"spk-icon"),c(2,"question"),r()()),n&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function ao(n,i){if(n&1&&(a(0,"spk-option",60),c(1),r()),n&2){let e=i.$implicit;_("value",e),s(),b(e)}}function so(n,i){if(n&1&&(a(0,"div",46)(1,"label",50),c(2),F(3,ro,3,1,"spk-tooltip",51),r(),a(4,"div",62)(5,"spk-form-field"),m(6,"input",63),a(7,"spk-icon",53),c(8,"resize"),r()(),a(9,"spk-select"),m(10,"label")(11,"input",64),M(12,ao,2,2,"spk-option",60,$),r()()()),n&2){let e,t=p().$implicit,o=p(2);_("formGroupName",t.formView.name),s(),G("for","destination-",t.formGroupName,"-",t.index,"-",t.asHttpOptions?"http":"other",""),s(),v(" ",(e=t.formView.shortDescription)!==null&&e!==void 0?e:t.formView.name," "),s(),g(t.formView.longDescription?3:-1),s(3),G("id","destination-",t.formGroupName,"-",t.index,"-",t.asHttpOptions?"http":"other",""),s(6),R(o.sizeOptions())}}function lo(n,i){if(n&1&&(a(0,"spk-tooltip",51)(1,"spk-icon"),c(2,"question"),r()()),n&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function po(n,i){if(n&1&&(a(0,"spk-form-field")(1,"label",50),c(2),F(3,lo,3,1,"spk-tooltip",51),r(),m(4,"input",65),a(5,"spk-icon",53),c(6,"numpad"),r()()),n&2){let e,t=p().$implicit;s(),G("for","destination-",t.formGroupName,"-",t.index,"-",t.asHttpOptions?"http":"other",""),s(),v(" ",(e=t.formView.shortDescription)!==null&&e!==void 0?e:t.formView.name," "),s(),g(t.formView.longDescription?3:-1),s(),G("id","destination-",t.formGroupName,"-",t.index,"-",t.asHttpOptions?"http":"other",""),V("formControlName",t.formView.name)}}function co(n,i){if(n&1&&(a(0,"spk-tooltip",51)(1,"spk-icon"),c(2,"question"),r()()),n&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function _o(n,i){if(n&1&&(a(0,"spk-toggle",47)(1,"label",50),c(2),F(3,co,3,1,"spk-tooltip",51),r(),m(4,"input",66),r()),n&2){let e,t=p().$implicit;s(),G("for","destination-",t.formGroupName,"-",t.index,"-",t.asHttpOptions?"http":"other",""),s(),v(" ",(e=t.formView.shortDescription)!==null&&e!==void 0?e:t.formView.name," "),s(),g(t.formView.longDescription?3:-1),s(),G("id","destination-",t.formGroupName,"-",t.index,"-",t.asHttpOptions?"http":"other",""),V("formControlName",t.formView.name)}}function mo(n,i){if(n&1&&(a(0,"spk-tooltip",51)(1,"spk-icon"),c(2,"question"),r()()),n&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function uo(n,i){n&1&&(a(0,"spk-option",68),c(1,"None"),r()),n&2&&_("value","None")}function Fo(n,i){if(n&1&&(a(0,"spk-option",60),c(1),m(2,"spk-checkbox",69),r()),n&2){let e=p().$implicit;_("value",e),s(),v(" ",e," ")}}function go(n,i){if(n&1&&F(0,uo,2,1,"spk-option",68)(1,Fo,3,2,"spk-option",60),n&2){let e=i.$implicit;g(e==="None"?0:1)}}function Co(n,i){if(n&1&&(a(0,"spk-select",48)(1,"label",50),c(2),F(3,mo,3,1,"spk-tooltip",51),r(),m(4,"input",67),M(5,go,2,1,null,null,$),r()),n&2){let e,t=p().$implicit;_("selectMultiple",!0),s(),G("for","destination-",t.formGroupName,"-",t.index,"-",t.asHttpOptions?"http":"other",""),s(),v(" ",(e=t.formView.shortDescription)!==null&&e!==void 0?e:t.formView.name," "),s(),g(t.formView.longDescription?3:-1),s(),V("formControlName",t.formView.name),s(),R(t.formView.options)}}function fo(n,i){if(n&1&&(a(0,"spk-tooltip",51)(1,"spk-icon"),c(2,"question"),r()()),n&2){let e=p(2).$implicit;_("message",e.formView.longDescription)}}function So(n,i){if(n&1&&(a(0,"spk-form-field")(1,"label",50),c(2),F(3,fo,3,1,"spk-tooltip",51),r(),m(4,"input",52),r()),n&2){let e,t=p().$implicit;s(),G("for","destination-",t.formGroupName,"-",t.index,"-",t.asHttpOptions?"http":"other",""),s(),v(" ",(e=t.formView.shortDescription)!==null&&e!==void 0?e:t.formView.name," "),s(),g(t.formView.longDescription?3:-1),s(),G("id","destination-",t.formGroupName,"-",t.index,"-",t.asHttpOptions?"http":"other",""),V("formControlName",t.formView.name)}}function To(n,i){if(n&1){let e=P();a(0,"button",70),C("click",function(){S(e);let o=p().$implicit,l=p(2);return T(l.removeFormView(o.formView,0))}),a(1,"spk-icon"),c(2,"x-circle"),r()()}}function Eo(n,i){if(n&1&&(a(0,"div",41),K(1,42),F(2,Ui,5,16,"app-file-tree",43)(3,Ki,5,12,"app-file-tree",44)(4,Wi,7,12,"spk-form-field")(5,Zi,8,13,"spk-form-field")(6,to,7,11,"spk-select")(7,oo,8,12,"spk-select",45)(8,so,14,11,"div",46)(9,po,7,11,"spk-form-field")(10,_o,5,11,"spk-toggle",47)(11,Co,7,8,"spk-select",48)(12,So,5,11,"spk-form-field"),X(),F(13,To,3,0,"button",49),r()),n&2){let e=i.$implicit;Ae("single-field",e.formGroupName!=="advanced"),s(),_("formGroupName",e.formGroupName),s(),g(e.formView.type==="FileTree"?2:e.formView.type==="FolderTree"?3:e.formView.type==="String"||e.formView.type==="Path"?4:e.formView.type==="Password"?5:e.formView.type==="Enumeration"?6:e.formView.type==="NonValidatedSelectableString"?7:e.formView.type==="Size"?8:e.formView.type==="Integer"?9:e.formView.type==="Boolean"?10:e.formView.type==="Flags"?11:e.formView.type==="Timespan"?12:-1),s(11),g(e.formGroupName==="advanced"?13:-1)}}function Do(n,i){if(n&1&&(K(0,25)(1,34),M(2,Ii,1,9,"ng-container",null,$),M(4,Mi,1,9,"ng-container",null,$),a(6,"app-toggle-card",35),K(7,36),E(8,13),a(9,"spk-menu")(10,"button",37),m(11,"spk-icon"),r(),K(12,23),M(13,Ri,2,1,"button",38,$),X(),r(),D(),X(),M(15,vi,1,9,"ng-container",null,$),r(),a(17,"app-toggle-card",35),K(18,36),E(19,14),a(20,"spk-menu")(21,"button",37),m(22,"spk-icon"),r(),K(23,23),M(24,Gi,2,1,"button",38,$),X(),r(),D(),X(),M(26,Vi,1,9,"ng-container",null,$),r(),F(28,Eo,14,5,"ng-template",null,1,rt),X()()),n&2){let e=p();s(2),R(e.destinationFormPair().custom),s(2),R(e.destinationFormPair().dynamic),s(2),_("disallowToggle",!0),s(4),_("disabled",e.notSelectedAdvancedFormPair().length===0),s(3),R(e.notSelectedAdvancedFormPair()),s(2),R(e.selectedAdvancedFormPair()),s(2),_("disallowToggle",!0),s(4),_("disabled",e.notSelectedHttpOptions().length===0),s(3),R(e.notSelectedHttpOptions()),s(2),R(e.selectedHttpOptions())}}function No(n,i){if(n&1){let e=P();a(0,"spk-dialog",71),wt("isOpenChange",function(o){S(e);let l=p();return Rt(l.targetUrlDialogOpen,o)||(l.targetUrlDialogOpen=o),T(o)}),a(1,"header",72)(2,"h2"),A(3,15),r(),a(4,"spk-alert",73),A(5,16),r()(),a(6,"div",74)(7,"spk-form-field"),m(8,"textarea",75),r()(),a(9,"footer",76)(10,"button",27),C("click",function(){S(e);let o=p();return T(o.closeTargetUrlDialog(!1))}),c(11,"Cancel"),r(),a(12,"button",77),C("click",function(){S(e);let o=p();return T(o.closeTargetUrlDialog(!0))}),E(13,17),m(14,"spk-icon"),D(),r()()()}if(n&2){let e=p();Mt("isOpen",e.targetUrlDialogOpen),_("options",vt(3,Ai)),s(8),_("formControl",e.targetUrlCtrl)}}var Ao=["Bytes","KB","MB","GB","TB","PB"],St=new ee,Zt=(n={destinations:[]})=>St.group({destinations:St.array(n.destinations)}),Jt=({key:n,customGroup:i,dynamicGroup:e,advancedGroup:t})=>St.group({destinationType:St.control(n),custom:i,dynamic:e,advanced:t}),kt=class n{#e=y(te);#t=y(ge);#i=y(bt);#o=y(Be);#n=y(le);#r=y(Bt);injector=y(It);formRef=me.required("formRef");destinationForm=this.#n.destinationForm;destinationFormPair=this.#n.destinationFormPair;selectedAdvancedFormPair=this.#n.selectedAdvancedFormPair;notSelectedAdvancedFormPair=this.#n.notSelectedAdvancedFormPair;selectedHttpOptions=this.#n.selectedHttpOptions;notSelectedHttpOptions=this.#n.notSelectedHttpOptions;destinationOptions=this.#n.destinationOptions;destinationFormSignal=this.#n.destinationFormSignal;destinationCount=L(()=>this.destinationFormSignal()?.destinations?.length??0);sizeOptions=x(Ao);successfulTest=x(!1);getFormFieldValue(i,e,t){return((this.destinationForm.controls.destinations.controls?.[i]).controls?.[e]).controls[t].value}addDestinationFormGroup(i){this.#n.addDestinationFormGroup(i)}addAdvancedFormPair(i,e){this.#n.addAdvancedFormPair(i,e)}removeFormView(i,e){this.#n.removeAdvancedFormPair(i,e)}addHttpOption(i,e){this.#n.addHttpOption(i,e)}targetUrl=L(()=>this.#n.getCurrentTargetUrl()[0]);targetUrlCtrl=new pt;targetUrlInitial=x(null);targetUrlDialogOpen=x(!1);openTargetUrlDialog(){let e=this.#n.getCurrentTargetUrl()[0];this.targetUrlCtrl.setValue(e),this.targetUrlInitial.set(e),this.targetUrlDialogOpen.set(!0)}closeTargetUrlDialog(i=!1){this.targetUrlDialogOpen.set(!1);let e=this.targetUrlCtrl.value,t=this.targetUrlInitial();!i||e===t||this.#n.updateFieldsFromTargetUrl(this.targetUrlCtrl.value)}testDestination(i=0){let t=this.#n.getCurrentTargetUrl()[i];t&&this.#o.postApiV1RemoteoperationTest({requestBody:{path:t}}).subscribe({next:()=>{this.successfulTest.set(!0),setTimeout(()=>{this.successfulTest.set(!1)},3e3)},error:o=>{let l=o.error.error.Error;if(l==="missing-folder"&&this.#r.open(Le,{data:{title:"Create folder",message:"The remote destination folder does not exist, do you want to create it?"},closed:d=>{d&&this.#o.postApiV1RemoteoperationCreate({requestBody:{path:t}}).subscribe()}}),l.startsWith("incorrect-cert:")){let d=l.split("incorrect-cert:")[1];this.#r.open(Le,{maxWidth:"500px",data:{title:"Trust the certificate",message:`The server is using a certificate that is not trusted.
|
|
2
|
-
If this is a self-signed certificate, you can choose to trust this certificate.
|
|
3
|
-
The server reported the certificate hash: ${d}`,confirmText:"Trust the certificate",cancelText:"Cancel"},closed:k=>{k&&this.#n.addHttpOptionByName("accept-specified-ssl-hash",d)}})}if(l.startsWith("incorrect-host-key:")){let d=l.split('incorrect-host-key:"')[1].split('",')[0],k=l.split('accepted-host-key:"')[1].split('",')[0];k?this.#r.open(Le,{maxWidth:"500px",data:{title:"The host key has changed",message:`The host key has changed, please check with the server administrator if this is correct,
|
|
4
|
-
otherwise you could be the victim of a MAN-IN-THE-MIDDLE attack.
|
|
5
|
-
Do you want to REPLACE your CURRENT host key ${k}
|
|
6
|
-
with the REPORTED host key: ${d}?`,confirmText:"Approve",cancelText:"Cancel"},closed:I=>{I&&this.#n.addAdvancedFormPairByName("ssh-fingerprint",i,d)}}):this.#r.open(Le,{maxWidth:"500px",data:{title:"Approve host key?",message:`No certificate was specified, please verify that the reported host key is correct: ${d}`,confirmText:"Approve",cancelText:"Cancel"},closed:I=>{I&&this.#n.addAdvancedFormPairByName("ssh-fingerprint",i,d)}})}}})}mapToTargetUrl(i){return gt(i.value)}removeDestinationFormGroup(i){this.destinationForm.controls.destinations.removeAt(i)}displayFn(i){let e=this.destinationOptions().find(t=>t.Key===i);return e?`${e.DisplayName}`:""}goBack(){this.#e.navigate(["general"],{relativeTo:this.#t.parent})}next(){this.#e.navigate(["source-data"],{relativeTo:this.#t.parent})}#s=x("https://duplicati-oauth-handler.appspot.com/").asReadonly();#l=x(Math.random().toString(36).substring(2)+Math.random().toString(36).substring(2)).asReadonly();#a=x(!1);#p=x(null);keyCreation(){}oauthStartTokenCreation(i){this.#a.set(!0);let e=450,t=600,o=this.#s()+"?type="+i+"&token="+this.#l(),l=screen.width/2-e/2,d=screen.height/2-t/2,k=window.open(o,"_blank","height="+t+",width="+e+",menubar=0,status=0,titlebar=0,toolbar=0,left="+l+",top="+d);k?.addEventListener("blur",I=>{console.log("event blur",I)}),k?.addEventListener("beforeunload",I=>{console.log("event beforeunload",I),this.#i.get(this.#s()+"fetch?callback=JSON_CALLBACK",{params:{token:this.#l()}}).pipe(Qe(()=>this.#a.set(!1))).subscribe({next:h=>{console.log("res",h),h?.authid&&this.#p.set(h.authid)}})})}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=J({type:n,selectors:[["app-destination"]],viewQuery:function(e,t){e&1&&ue(t.formRef,Si,5),e&2&&de()},decls:24,vars:6,consts:()=>{let i;i=$localize` Backup destination ${"\uFFFD#5\uFFFD"}:START_TAG_DIV:${"\uFFFD*6:1\uFFFD"}:START_BLOCK_IF_1:${"\uFFFD#1:1\uFFFD"}:START_TAG_BUTTON:${"\uFFFD*2:2\uFFFD"}:START_BLOCK_IF: Connected ${"[\uFFFD#1:2\uFFFD|\uFFFD#9\uFFFD|\uFFFD#12\uFFFD]"}:START_TAG_SPK_ICON:check${"[\uFFFD/#1:2\uFFFD|\uFFFD/#9\uFFFD|\uFFFD/#12\uFFFD]"}:CLOSE_TAG_SPK_ICON:${"[\uFFFD/*2:2\uFFFD|\uFFFD/*6:1\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD*3:3\uFFFD"}:START_BLOCK_ELSE: Test destination ${"\uFFFD/*3:3\uFFFD"}:CLOSE_BLOCK_ELSE:${"[\uFFFD/#1:1\uFFFD|\uFFFD/#8\uFFFD|\uFFFD/#11\uFFFD]"}:CLOSE_TAG_BUTTON:${"[\uFFFD/*2:2\uFFFD|\uFFFD/*6:1\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD#7\uFFFD"}:START_TAG_SPK_MENU:${"\uFFFD#8\uFFFD"}:START_TAG_BUTTON_1:${"[\uFFFD#1:2\uFFFD|\uFFFD#9\uFFFD|\uFFFD#12\uFFFD]"}:START_TAG_SPK_ICON:dots-three-vertical${"[\uFFFD/#1:2\uFFFD|\uFFFD/#9\uFFFD|\uFFFD/#12\uFFFD]"}:CLOSE_TAG_SPK_ICON:${"[\uFFFD/#1:1\uFFFD|\uFFFD/#8\uFFFD|\uFFFD/#11\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD#10\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD#11\uFFFD"}:START_TAG_BUTTON_2:${"[\uFFFD#1:2\uFFFD|\uFFFD#9\uFFFD|\uFFFD#12\uFFFD]"}:START_TAG_SPK_ICON:link${"[\uFFFD/#1:2\uFFFD|\uFFFD/#9\uFFFD|\uFFFD/#12\uFFFD]"}:CLOSE_TAG_SPK_ICON: Edit target URL ${"[\uFFFD/#1:1\uFFFD|\uFFFD/#8\uFFFD|\uFFFD/#11\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD/#10\uFFFD"}:CLOSE_TAG_NG_CONTAINER:${"\uFFFD/#7\uFFFD"}:CLOSE_TAG_SPK_MENU:${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_DIV:`,i=he(i);let e;e=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SPK_ICON: Go back `;let t;t=$localize`${"\uFFFD#22\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#22\uFFFD"}:CLOSE_TAG_SPK_ICON: Continue `;let o;o=$localize` Want to select another destination? ${"\uFFFD#2\uFFFD"}:START_TAG_SPAN:Click here${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPAN:`;let l;l=$localize`File system`;let d;d=$localize`Store backups on your local file system.`;let k;k=$localize`Store backups in Google Cloud Storage.`;let I;I=$localize`Store backups in any S3 compatible bucket.`;let h;h=$localize`Store backups in SSH.`;let Y;Y=$localize`Store backups in Google Drive.`;let Z;Z=$localize`More destinations are coming soon.`;let U;U=$localize` Advanced options ${"\uFFFD#9\uFFFD"}:START_TAG_SPK_MENU:${"\uFFFD#10\uFFFD"}:START_TAG_BUTTON: Add advanced option ${"\uFFFD#11\uFFFD"}:START_TAG_SPK_ICON:plus${"\uFFFD/#11\uFFFD"}:CLOSE_TAG_SPK_ICON:${"[\uFFFD/#10\uFFFD|\uFFFD/#1:1\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD#12\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD*14:1\uFFFD"}:START_BLOCK_FOR:${"\uFFFD#1:1\uFFFD"}:START_TAG_BUTTON_1: ${"\uFFFD0:1\uFFFD"}:INTERPOLATION: ${"[\uFFFD/#10\uFFFD|\uFFFD/#1:1\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD/*14:1\uFFFD"}:CLOSE_BLOCK_FOR:${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_NG_CONTAINER:${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SPK_MENU:`,U=he(U);let B;B=$localize` Http options ${"\uFFFD#20\uFFFD"}:START_TAG_SPK_MENU:${"\uFFFD#21\uFFFD"}:START_TAG_BUTTON: Add http option ${"\uFFFD#22\uFFFD"}:START_TAG_SPK_ICON:plus${"\uFFFD/#22\uFFFD"}:CLOSE_TAG_SPK_ICON:${"[\uFFFD/#21\uFFFD|\uFFFD/#1:1\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD#23\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD*25:1\uFFFD"}:START_BLOCK_FOR:${"\uFFFD#1:1\uFFFD"}:START_TAG_BUTTON_1: ${"\uFFFD0:1\uFFFD"}:INTERPOLATION: ${"[\uFFFD/#21\uFFFD|\uFFFD/#1:1\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD/*25:1\uFFFD"}:CLOSE_BLOCK_FOR:${"\uFFFD/#23\uFFFD"}:CLOSE_TAG_NG_CONTAINER:${"\uFFFD/#20\uFFFD"}:CLOSE_TAG_SPK_MENU:`,B=he(B);let j;j=$localize`Edit target URL`;let N;N=$localize` Be careful, this will overwrite everything you have in your destination. `;let u;return u=$localize` Override target URL ${"\uFFFD#14\uFFFD"}:START_TAG_SPK_ICON:swap${"\uFFFD/#14\uFFFD"}:CLOSE_TAG_SPK_ICON:`,[["formRef",""],["fieldTemplate",""],i,e,t,o,l,d,k,I,h,Y,Z,U,B,j,N,u,[3,"submit","formGroup"],[1,"title-30"],[1,"actions"],["spk-button","","type","button",1,"small",3,"success"],["spk-button","","type","button",1,"small"],["menu",""],["spk-button","","type","button",1,"small",3,"click"],["formArrayName","destinations"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"],[3,"isOpen","options"],[3,"click"],[1,"spk-primary"],[1,"most-common-destinations"],[1,"tile",3,"click"],["formGroupName","0"],[3,"disallowToggle"],["title",""],["spk-button","","type","button",1,"outlined","small",3,"disabled"],["item","","type","button"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["item","","type","button",3,"click"],[1,"field-row"],[3,"formGroupName"],[3,"startingPath","accepts","showFiles","showHiddenNodes","selectFiles"],[3,"startingPath"],[3,"isFreeText"],[1,"form-column",3,"formGroupName"],[1,"primary","raised"],[1,"primary",3,"selectMultiple"],["spk-button","","type","button",1,"outlined"],[3,"for"],[1,"primary",3,"message"],["type","text",3,"id","formControlName"],["prefix",""],["autocomplete","off",3,"type","id","formControlName"],["prefix","",1,"link"],["suffix","",1,"clickable"],["prefix","",1,"link",3,"click"],["suffix","",1,"clickable",3,"click"],["type","search",3,"id","formControlName"],[3,"value"],["options",""],[1,"form-row"],["type","number","formControlName","size",3,"id"],["type","search","formControlName","unit"],["type","number",3,"id","formControlName"],["type","checkbox",3,"id","formControlName"],["type","text","id","text",3,"formControlName"],["deselect","",3,"value"],[1,"raised","primary"],["spk-button","","type","button",1,"outlined",3,"click"],[3,"isOpenChange","isOpen","options"],["header",""],[1,"warning"],["content",""],["id","targetUrl","autocomplete","off",3,"formControl"],["footer",""],["spk-button","","type","submit",1,"raised","primary",3,"click"]]},template:function(e,t){if(e&1){let o=P();a(0,"form",18,0),C("submit",function(){return S(o),T(t.next())}),a(2,"header")(3,"h3",19),E(4,2),a(5,"div",20),F(6,yi,4,3,"button",21),a(7,"spk-menu")(8,"button",22),m(9,"spk-icon"),r(),K(10,23),a(11,"button",24),C("click",function(){return S(o),T(t.openTargetUrlDialog())}),m(12,"spk-icon"),r(),X(),r()(),D(),r(),F(13,Pi,3,0,"p"),r(),F(14,ki,28,0)(15,Do,30,4,"ng-container",25),a(16,"div",26)(17,"button",27),C("click",function(){return S(o),T(t.goBack())}),E(18,3),m(19,"spk-icon"),D(),r(),a(20,"button",28),E(21,4),m(22,"spk-icon"),D(),r()()(),F(23,No,15,4,"spk-dialog",29)}if(e&2){let o;_("formGroup",t.destinationForm),s(6),g(t.destinationCount()>0?6:-1),s(7),g(t.destinationCount()>0?13:-1),s(),g(t.destinationCount()===0?14:-1),s(),g(!((o=t.destinationFormSignal())==null||o.destinations==null)&&o.destinations.length?15:-1),s(8),g(t.targetUrlDialogOpen()?23:-1)}},dependencies:[Ee,fe,ne,Ie,xe,ie,Ce,ct,Se,Te,$e,Lt,st,re,se,dt,ut,ae,oe,Re,Ke,Ut,mt,we,Xe],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}.form-column[_ngcontent-%COMP%]{display:flex;flex-direction:column}.form-column[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.form-column[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{font-size:1rem}.form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:2fr 1fr;gap:.5rem;align-items:flex-end}.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-level-40);border-radius:var(--shape-3);box-shadow:var(--shadow-1);background-color:var(--base-level-20);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{Zt as a,Jt as b,kt as c,Ht as d,ht as e,At as f,Wt as g,Fr as h,Ot as i,qt as j,yt as k,Yt as l,Pt as m,le as n};
|
package/chunk-ZF4CSRRV.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./chunk-C6Q5SG76.js";var o=[{path:"",redirectTo:"general",pathMatch:"full"},{path:"general",loadComponent:()=>import("./chunk-OJ2CS6D3.js")},{path:"destination",loadComponent:()=>import("./chunk-4EQGEU5E.js")},{path:"source-data",loadComponent:()=>import("./chunk-CMOQLINJ.js")},{path:"schedule",loadComponent:()=>import("./chunk-BOB7BIYQ.js")},{path:"options",loadComponent:()=>import("./chunk-2AULXET4.js")}];export{o as default};
|