@duplicati/ngclient 0.0.43 → 0.0.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/spk.woff2 +0 -0
- package/{chunk-7CADWXFT.js → chunk-5OHRSCEC.js} +1 -1
- package/{chunk-SXQDKOHO.js → chunk-7FKHU74A.js} +1 -1
- package/{chunk-YKAKSXUG.js → chunk-DUCYT6JV.js} +1 -1
- package/{chunk-XFX4WAZJ.js → chunk-HCLD4U7B.js} +1 -1
- package/{chunk-CN3765MU.js → chunk-LVPMH5RR.js} +1 -1
- package/{chunk-WUBH66KM.js → chunk-MQK3LTIE.js} +1 -1
- package/chunk-RMTCHBH3.js +6 -0
- package/chunk-TQVKGGE4.js +1 -0
- package/index.html +1 -1
- package/{main-VLMX3T2V.js → main-HHDIDPSW.js} +1 -1
- package/package.json +1 -1
- package/chunk-45JBSR2F.js +0 -6
- package/chunk-RIZNMDZX.js +0 -1
package/assets/spk.woff2
CHANGED
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a,b,c}from"./chunk-
|
|
1
|
+
import{a,b,c}from"./chunk-RMTCHBH3.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{j as a,k as b}from"./chunk-
|
|
1
|
+
import{j as a,k as b}from"./chunk-RMTCHBH3.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{g as a,h as b,i as c}from"./chunk-
|
|
1
|
+
import{g as a,h as b,i as c}from"./chunk-RMTCHBH3.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};
|
|
@@ -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-RMTCHBH3.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{d as a,e as b,f as c}from"./chunk-
|
|
1
|
+
import{d as a,e as b,f as c}from"./chunk-RMTCHBH3.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{l as a,m as b}from"./chunk-
|
|
1
|
+
import{l as a,m as b}from"./chunk-RMTCHBH3.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};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{a as qe,b as Ve}from"./chunk-WWJ757LM.js";import{a as ht,b as Xt}from"./chunk-DNHLTHLR.js";import{a as ct}from"./chunk-3NZI2UZ4.js";import{b as Q}from"./chunk-KFGIVU27.js";import{a as we,b as re,c as Ee,d as ae,e as De,f as mt,g as Lt,h as he,i as Re,k as _t,l as ye,m as ve,n as Ut,o as Ne,p as oe,q as ut,r as Ae}from"./chunk-7TWD5GBS.js";import{a as se,b as dt,d as Bt,e as Kt,g as Ge,i as Ft,k as le,m as gt,n as zt,p as pe,q as ce,v as be,w as je}from"./chunk-ED3PEZLO.js";import{a as We}from"./chunk-AKLJ23OZ.js";import{H as Te,X as ie}from"./chunk-J3H4BCHI.js";import{c as Vt}from"./chunk-5XX7BU4I.js";import{ia as pt}from"./chunk-5ZK3D2RS.js";import{$b as W,Ab as g,Bb as I,Cb as M,Db as w,E as Je,Eb as a,Fb as r,Gb as _,Hb as K,Ib as z,Jb as Ue,Kb as P,Kc as U,Mc as lt,Qb as T,R as Me,Ra as s,Rb as E,Sb as O,Tb as tt,Ub as nt,Vb as xe,Wb as C,X as x,Xb as p,Za as A,_a as ge,_b as X,ac as B,ea as f,fa as S,fb as ne,fc as Ce,gc as fe,hc as Se,ic as c,ja as It,jc as L,kc as V,lb as F,lc as Mt,mc as wt,nc as Rt,oc as vt,p as Ze,qa as et,ra as at,rc as Gt,sc as Be,tc as bt,uc as ot,vb as m,xb as ke,yc as st}from"./chunk-MR4RE3IB.js";import{a as R,c as $t}from"./chunk-C6Q5SG76.js";function tn(t,n){if(t&1&&(a(0,"p"),c(1),r()),t&2){let e=p();s(),L(e._data().message)}}var nn={title:$localize`Are you sure?`,confirmText:$localize`Confirm`,cancelText:$localize`Cancel`},Ke=class t{data=at();_data=U(()=>R(R({},nn),this.data()));closed=et();close(n="confirm"){this.closed.emit(n==="confirm")}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=ne({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,o){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 o.close("cancel")}),c(7),r(),a(8,"button",4),C("click",function(){return o.close("confirm")}),c(9),r()()),e&2&&(s(2),L(o._data().title),s(2),g(o._data().message?4:-1),s(3),L(o._data().cancelText),s(2),L(o._data().confirmText))},styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0})};var Ct=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(We);s3Providers=Q(this.getS3Config("Providers"));s3Regions=Q(this.getS3Config("Regions"));s3RegionHosts=Q(this.getS3Config("RegionHosts"));s3StorageClasses=Q(this.getS3Config("StorageClasses"));storjSatellites=Q(this.getStorjConfig("Satellites"));storjAuthenticationMethods=Q(this.getStorjConfig("AuthenticationMethods"));openstackProviders=Q(this.getOpenstackConfig("Providers"));openstackVersions=Q(this.getOpenstackConfig("Versions"));gcsLocations=Q(this.getGcsConfig("Locations"));gcsStorageClasses=Q(this.getGcsConfig("StorageClasses"));getS3Config(n){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"s3-getconfig",requestBody:{"s3-config":n}}).pipe(Ze(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(Ze(e=>this.#t(e)))}getOpenstackConfig(n){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"openstack-getconfig",requestBody:{"openstack-config":n}}).pipe(Ze(e=>this.#t(e)))}getGcsConfig(n){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"gcs-getconfig",requestBody:{"gcs-config":n}}).pipe(Ze(e=>this.#t(e)))}#t(n){return(n.Result&&typeof n.Result=="object"&&Object.entries(n.Result).map(([e,o])=>({key:e,value:o})))??[]}static \u0275fac=function(e){return new(e||t)};static \u0275prov=Me({token:t,factory:t.\u0275fac,providedIn:"root"})};function it(t){return t==null?"":":"+t.toString()}function Le(t){return t==null?"":t.startsWith("/")?t:"/"+t}function j(t,n){let e={},o={};return n.searchParams.forEach((i,l)=>{Oe[t].dynamicFields?.includes(l)?o[l]=decodeURIComponent(i):e[l]=decodeURIComponent(i)}),{advanced:e,dynamic:o}}function q(t){let n=t.map(([e,o])=>`${e}=${o?encodeURIComponent(o.toString()):""}`).join("&");return n?"?"+n:""}function ft(t){let n=t.destinationType;if(!n||!Oe.hasOwnProperty(n))throw new Error("Invalid destination type");return Oe[n].mapper.to(t)??""}function yt(t){let n=URL.canParse(t),e=t.split("://")[0],o="http://"+t.split("://")[1],i=new URL(o);if(!n)throw new Error("Invalid target path");return Oe[e].mapper.from(e,i,t)}var v=new oe,Oe={file:{displayName:"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=>v.control(t??"")}},mapper:{to:t=>{let n=q([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${t.custom.path}${n}`},from:(t,n,e)=>{let o=e.indexOf("file:///")===0,i=e.split(o?"///":"//")[1].substring(0,1)+n.hostname.substring(1);return R({destinationType:t,custom:{path:`${o?"/":""}${i}${n.pathname}`}},j(t,n))}}},ssh:{displayName:"SSH",description:"Store backups in SSH.",customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"The server to connect to",formElement:t=>v.control(t??"")},port:{type:"Integer",name:"port",shortDescription:"Port",longDescription:"The port to connect to",formElement:t=>v.control(t??"",[Ee.required,Ee.max(65535)])},path:{type:"Path",name:"path",shortDescription:"Folder path",longDescription:"Folder path",formElement:t=>v.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=q([...Object.entries(t.advanced),...Object.entries(t.dynamic)]),{port:e,server:o,path:i}=t.custom;return`${t.destinationType}://${o+it(e)+Le(i)+n}`},from:(t,n,e)=>R({destinationType:t,custom:{server:n.hostname,port:n.port,path:n.pathname}},j(t,n))}},s3:{displayName:"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=>v.control(t??"")},path:{type:"Path",name:"path",shortDescription:"Folder path",longDescription:"Folder path",formElement:t=>v.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{bucket:n,path:e}=t.custom,o=q([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${n+Le(e)+o}`},from:(t,n,e)=>R({destinationType:t,custom:{path:n.pathname,bucket:n.hostname}},j(t,n))}},gcs:{displayName:"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=>v.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=q([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${t.custom.path}${n}`},from:(t,n,e)=>R({destinationType:t,custom:{path:n.hostname+n.pathname}},j(t,n))}},googledrive:{displayName:"Google Drive",description:"Store backups in Google Drive.",oauthField:"authid",customFields:{path:{type:"Path",name:"path",shortDescription:"Folder path",longDescription:"Folder path",formElement:t=>v.control(t??"")}},dynamicFields:["authid"],mapper:{to:t=>{let n=t.custom.path,e=q([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${n}${e}`},from:(t,n,e)=>R({destinationType:t,custom:{path:n.hostname+n.pathname}},j(t,n))}},azure:{displayName:"Azure Blob Storage",description:"Store backups in Azure Blob Storage.",customFields:{path:{type:"String",name:"path",shortDescription:"Container name",longDescription:"Container name",formElement:t=>v.control(t??"")}},dynamicFields:[{name:"auth-username",shortDescription:"Account name"},{name:"auth-password",shortDescription:"Access key"}],mapper:{to:t=>{let n=t.custom.path,e=q([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${n}${e}`},from:(t,n,e)=>R({destinationType:t,custom:{path:n.hostname+n.pathname}},j(t,n))}},onedrivev2:{displayName:"OneDrive",description:"Store backups in OneDrive.",oauthField:"authid",customFields:{path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>v.control(t??"")}},dynamicFields:["authid"],mapper:{to:t=>{let n=t.custom.path,e=q([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${n}${e}`},from:(t,n,e)=>R({destinationType:t,custom:{path:n.hostname+n.pathname}},j(t,n))}},od4b:{displayName:"OneDrive Business",description:"Store backups in OneDrive Business.",customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"Server",formElement:t=>v.control(t??"")},port:{type:"Integer",name:"port",shortDescription:"Port",longDescription:"Port",formElement:t=>v.control(t??"")},path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>v.control(t??"")}},dynamicFields:[{name:"auth-username",shortDescription:"Account name"},{name:"auth-password",shortDescription:"Access key"}],mapper:{to:t=>{let n=q([...Object.entries(t.advanced),...Object.entries(t.dynamic)]),{port:e,server:o,path:i}=t.custom;return`${t.destinationType}://${o+it(e)+Le(i)+n}`},from:(t,n,e)=>R({destinationType:t,custom:{server:n.hostname,port:n.port,path:n.pathname}},j(t,n))}},mssp:{displayName:"Microsoft SharePoint",description:"Store backups in Microsoft SharePoint.",customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"Server",formElement:t=>v.control(t??"")},port:{type:"Integer",name:"port",shortDescription:"Port",longDescription:"Port",formElement:t=>v.control(t??"")},path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>v.control(t??"")}},dynamicFields:[{name:"auth-username",shortDescription:"Account name"},{name:"auth-password",shortDescription:"Access key"}],mapper:{to:t=>{let n=q([...Object.entries(t.advanced),...Object.entries(t.dynamic)]),{port:e,server:o,path:i}=t.custom;return`${t.destinationType}://${o+it(e)+Le(i)+n}`},from:(t,n,e)=>R({destinationType:t,custom:{server:n.hostname,port:n.port,path:n.pathname}},j(t,n))}},sharepoint:{displayName:"Microsoft SharePoint v2",description:"Store backups in Microsoft SharePoint.",oauthField:"authid",customFields:{path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>v.control(t??"")}},dynamicFields:["authid"],mapper:{to:t=>{let n=t.custom.path,e=q([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${n}${e}`},from:(t,n,e)=>R({destinationType:t,custom:{path:n.hostname+n.pathname}},j(t,n))}},dropbox:{displayName:"Dropbox",description:"Store backups in Dropbox.",oauthField:"authid",customFields:{path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>v.control(t??"")}},dynamicFields:["authid"],mapper:{to:t=>{let n=t.custom.path,e=q([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${n}${e}`},from:(t,n,e)=>R({destinationType:t,custom:{path:n.hostname+n.pathname}},j(t,n))}},box:{displayName:"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=>v.control(t??"")}},dynamicFields:["authid"],mapper:{to:t=>{let n=t.custom.path,e=q([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${n}${e}`},from:(t,n,e)=>R({destinationType:t,custom:{path:n.hostname+n.pathname}},j(t,n))}},jottacloud:{displayName:"Jottacloud",description:"Store backups in Jottacloud.",oauthField:"authid",customFields:{path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>v.control(t??"")}},dynamicFields:["authid"],mapper:{to:t=>{let n=t.custom.path,e=q([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${n}${e}`},from:(t,n,e)=>R({destinationType:t,custom:{path:n.hostname+n.pathname}},j(t,n))}},b2:{displayName:"B2 Cloud Storage",description:"Store backups in B2 Cloud Storage.",customFields:{bucket:{type:"String",name:"bucket",shortDescription:"Bucket name",longDescription:"Bucket name",formElement:t=>v.control(t??"")},path:{type:"String",name:"path",shortDescription:"Path in the bucket",longDescription:"Path in the bucket",formElement:t=>v.control(t??"")}},dynamicFields:[{name:"auth-username",shortDescription:"Application ID"},{name:"auth-password",shortDescription:"Application Key"}],mapper:{to:t=>{let{bucket:n,path:e}=t.custom,o=q([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${n+Le(e)+o}`},from:(t,n,e)=>R({destinationType:t,custom:{bucket:n.hostname,path:n.pathname}},j(t,n))}},e2:{displayName:"IDrive e2",description:"Store backups in IDrive e2.",customFields:{bucket:{type:"String",name:"bucket",shortDescription:"Bucket name",longDescription:"Bucket name",formElement:t=>v.control(t??"")},path:{type:"String",name:"path",shortDescription:"Path in the bucket",longDescription:"Path in the bucket",formElement:t=>v.control(t??"")}},dynamicFields:[{name:"auth-username",shortDescription:"Access ID"},{name:"auth-password",shortDescription:"Access Secret"}],mapper:{to:t=>{let{bucket:n,path:e}=t.custom,o=q([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${n+Le(e)+o}`},from:(t,n,e)=>R({destinationType:t,custom:{bucket:n.hostname,path:n.pathname}},j(t,n))}},mega:{displayName:"Mega.nz",description:"Store backups in Mega.nz.",customFields:{path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>v.control(t??"")}},dynamicFields:[{name:"auth-username",shortDescription:"Username"},{name:"auth-password",shortDescription:"Password"}],mapper:{to:t=>{let n=t.custom.path,e=q([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${n}${e}`},from:(t,n,e)=>R({destinationType:t,custom:{path:n.hostname+n.pathname}},j(t,n))}},msgroup:{displayName:"Microsoft Office 365 Group",description:"Store backups in Microsoft Office 365 Group.",oauthField:"authid",customFields:{groupEmail:{type:"Email",name:"groupEmail",shortDescription:"Group email",longDescription:"Group email",formElement:t=>v.control(t??"",[Ee.email])},path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>v.control(t??"")}},dynamicFields:["authid"],mapper:{to:t=>{let n=t.custom.path,e=q([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${n}${e}`},from:(t,n,e)=>R({destinationType:t,custom:{path:n.hostname+n.pathname}},j(t,n))}},cloudfiles:{displayName:"Rackspace CloudFiles",description:"Store backups in Rackspace CloudFiles.",customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"Server",formElement:t=>v.control(t??"")},port:{type:"Integer",name:"port",shortDescription:"Port",longDescription:"Port",formElement:t=>v.control(t??"")},path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>v.control(t??"")}},dynamicFields:[{name:"auth-username",shortDescription:"Username"},{name:"auth-password",shortDescription:"Password"}],mapper:{to:t=>{let n=q([...Object.entries(t.advanced),...Object.entries(t.dynamic)]),{port:e,server:o,path:i}=t.custom;return`${t.destinationType}://${o+it(e)+Le(i)+n}`},from:(t,n,e)=>R({destinationType:t,custom:{server:n.hostname,port:n.port,path:n.pathname}},j(t,n))}},rclone:{displayName:"Rclone",description:"Store backups in Rclone.",dynamicFields:[{name:"rclone-local-repository",shortDescription:"Local repository",defaultValue:""},{name:"rclone-remote-repository",shortDescription:"Remote repository",defaultValue:""},{name:"rclone-remote-path",shortDescription:"Path on remote repository",defaultValue:""}],mapper:{to:t=>{let n=t.dynamic["rclone-remote-repository"],e=t.dynamic["rclone-remote-path"],o=Object.entries(t.dynamic).filter(([l])=>!["rclone-remote-repository","rclone-remote-path"].includes(l)),i=q([...Object.entries(t.advanced),...o]);return`${t.destinationType}://${n}/${e+i}`},from:(t,n,e)=>{let{advanced:o,dynamic:i}=j(t,n);return R({destinationType:t,dynamic:R({"rclone-remote-repository":n.hostname,"rclone-remote-path":n.pathname},i)},o)}}}};var Ht=/[a-zA-Z0-9_\-\+\.!@#$%^&*?_~()-]/,St=class t{generate(n,e=Ht){let o;do o=this.generatePassword(n,e);while(this.calculatePasswordStrength(o)<5);return o}generatePassword(n,e=Ht){let o=this;return Array.apply(null,{length:n}).map(()=>{let i;for(;;)if(i=String.fromCharCode(o.#e()),e.test(i))return i},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;m("value",e.Key),s(),L(e.DisplayName)}}function an(t,n){if(t&1&&_(0,"spk-progress-bar",38),t&2){let e=p(3);ke("warn",e.calculatePasswordStrength()===1)("tertiary",e.calculatePasswordStrength()===2)("primary",e.calculatePasswordStrength()===4)("success",e.calculatePasswordStrength()===5),m("value",e.calculatePasswordStrength()*(100/5))}}function sn(t,n){t&1&&(a(0,"span",33),O(1,9),r())}function ln(t,n){t&1&&(T(0,7,1),_(1,"spk-icon"),E())}function pn(t,n){t&1&&(T(0,7,2),_(1,"spk-icon"),E())}function cn(t,n){t&1&&(T(0,10,1),_(1,"spk-icon",40),E())}function mn(t,n){t&1&&(T(0,10,2),_(1,"spk-icon"),E())}function _n(t,n){if(t&1){let e=P();a(0,"button",39),C("click",function(){f(e);let i=p(3);return S(i.copyPassword())}),T(1,10),F(2,cn,2,0)(3,mn,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),O(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),_(4,"sup"),E(),r(),_(5,"input",30),r(),F(6,an,1,9,"spk-progress-bar",31),a(7,"spk-form-field"),_(8,"input",32),F(9,sn,2,0,"span",33),r(),a(10,"div",34)(11,"button",35),C("click",function(){f(e);let i=p(2);return S(i.showPassword.set(!i.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 i=p(2);return S(i.generatePassword())}),T(16,8),_(17,"spk-icon"),E(),r(),F(18,_n,4,1,"button",36),r(),F(19,un,2,0,"spk-alert",37),r()}if(t&2){let e=p(2);s(5),m("type",e.showPassword()?"text":"password"),s(),g(e.generalForm.value.password?6:-1),s(2),m("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),O(2,5),r(),_(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();m("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),_(2,"spk-icon"),E(),r()),t&2){let e=p();m("disabled",e.generalForm.invalid)}}function Cn(t,n){if(t&1&&(a(0,"spk-tooltip",23)(1,"button",22),T(2,13),_(3,"spk-icon"),E(),r()()),t&2){let e=p();m("disabled",!(e.showCopyPassword()&&!e.copiedPassword())),s(),m("disabled",e.generalForm.invalid||e.showCopyPassword()&&!e.copiedPassword())}}var Ye=new oe,Wt=(t={name:"",description:"",encryption:"",password:"",repeatPassword:""})=>Ye.group({name:Ye.control(t.name,[Ee.required]),description:Ye.control(t.description),encryption:Ye.control(t.encryption,[Xt()]),password:Ye.control(t.password,[ht(n=>n?.value.encryption!=="",[Ee.required])]),repeatPassword:Ye.control(t.repeatPassword,[ht(n=>n?.value.encryption!=="",[Ee.required])])}),At={Key:"",DisplayName:"None"},Nt=class t{#e=x(ie);#t=x(Te);#o=x(St);#i=x(me);#n=x(ct);formRef=ge.required("formRef");generalForm=this.#i.generalForm;generalFormSignal=this.#i.generalFormSignal;encryptionFieldSignal=this.#i.encryptionFieldSignal;encryptionOptions=this.#i.encryptionOptions;isNew=this.#i.isNew;showPassword=A(!1);copiedPassword=A(!1);showCopyPassword=A(!1);encryptionEffect=lt(()=>{this.encryptionFieldSignal()===""&&(this.copiedPassword.set(!1),this.showCopyPassword.set(!1))});calculatePasswordStrength=U(()=>{let e=this.generalFormSignal()?.password??"";return this.#o.calculatePasswordStrength(e)});ngOnInit(){this.formRef().nativeElement.focus()}exit(){this.#i.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 o=document.createElement("textarea");o.value=n,document.body.appendChild(o),o.select(),document.execCommand("copy"),document.body.removeChild(o)}catch(o){console.error("Failed to copy text: ",o)}}}displayFn(){let n=this.#n.systemInfo()?.EncryptionModules??[];return e=>{let o=[At,...n].find(i=>i.Key===e);return o?`${o.DisplayName}`:""}}generatePassword(){this.copiedPassword.set(!1);let n=this.#o.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=ne({type:t,selectors:[["app-general"]],viewQuery:function(e,o){e&1&&Ce(o.formRef,on,5),e&2&&fe()},decls:20,vars:3,consts:()=>{let n;n=$localize`Your backup name`;let e;e=$localize`Your backup description`;let o;o=$localize`General backup settings`;let i;i=$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 N;N=$localize`Encryption`;let $;$=$localize`Encryption`;let y;y=$localize`Password`;let Z;Z=$localize`Repeat password`;let J;J=$localize` Create a password ${"\uFFFD#4\uFFFD"}:START_SUPERSCRIPT:*${"\uFFFD/#4\uFFFD"}:CLOSE_SUPERSCRIPT:`;let G;G=$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:`,G=xe(G);let ee;ee=$localize`${"\uFFFD#17\uFFFD"}:START_TAG_SPK_ICON:password${"\uFFFD/#17\uFFFD"}:CLOSE_TAG_SPK_ICON: Generate password `;let te;te=$localize`Passwords do not match`;let h;h=$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:`,h=xe(h);let u;u=$localize` Tip: Be sure to save your password. If you loose it you will lose access to your backups. `;let D;D=$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",""],o,i,l,d,$,J,G,ee,te,h,u,D,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",N,"formControlName","encryption"],[3,"value"],[1,"passwords"],["for","password"],["id","password","tabindex","4","autocomplete","off","placeholder",y,"formControlName","password",3,"type"],[1,"raised",3,"warn","tertiary","primary","success","value"],["id","repeatPassword","tabindex","5","autocomplete","off","placeholder",Z,"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,o){if(e&1){let i=P();a(0,"form",14,0),C("submit",function(){return f(i),S(o.next())}),a(2,"h3",15),O(3,1),r(),a(4,"spk-form-field")(5,"label",16),T(6,2),_(7,"sup"),E(),r(),_(8,"input",17),r(),a(9,"spk-form-field")(10,"label",18),O(11,3),r(),_(12,"textarea",19),r(),F(13,Fn,7,2),a(14,"div",20)(15,"button",21),C("click",function(){return f(i),S(o.exit())}),T(16,4),_(17,"spk-icon"),E(),r(),F(18,gn,3,1,"button",22)(19,Cn,4,2,"spk-tooltip",23),r()()}e&2&&(m("formGroup",o.generalForm),s(13),g(o.isNew()?13:-1),s(5),g(o.encryptionFieldSignal()===""?18:19))},dependencies:[Ae,he,re,ae,De,ye,Ne,le,ce,Ge,se,pe,zt,dt,je],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;m("value",e),s(),L(e)}}function Dn(t,n){if(t&1&&(a(0,"spk-option",17),c(1),r()),t&2){let e=n.$implicit;m("value",e.value),s(),L(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 i=f(e).$implicit,l=p();return S(l.addNewOption(i))}),r(),E()}if(t&2){let e=n.$implicit;s(),tt(e.name),nt(0)}}function yn(t,n){t&1&&Ue(0)}function Nn(t,n){if(t&1&&F(0,yn,1,0,"ng-container",30),t&2){let e=n.$implicit,o=n.$index;p();let i=Se(35);m("ngTemplateOutlet",i)("ngTemplateOutletContext",Be(5,Tn,bt(2,Sn,o,e)))}}function An(t,n){if(t&1&&(a(0,"spk-tooltip",40)(1,"spk-icon"),c(2,"question"),r()()),t&2){let e=p(2).$implicit;m("message",e.formView.longDescription)}}function Pn(t,n){if(t&1&&(a(0,"app-file-tree",33)(1,"label",39),c(2),F(3,An,3,1,"spk-tooltip",40),r(),_(4,"input",41),r()),t&2){let e,o=p().$implicit,i=p();m("startingPath",i.getFormFieldValue(0,o.formGroupName,o.formView.name))("accepts",o.formView.accepts)("showFiles",!0)("showHiddenNodes",!0)("selectFiles",!0),s(),W("for","destination-",o.formGroupName,"-",o.index,""),s(),V(" ",(e=o.formView.shortDescription)!==null&&e!==void 0?e:o.formView.name," "),s(),g(o.formView.longDescription?3:-1),s(),W("id","destination-",o.formGroupName,"-",o.index,""),X("formControlName",o.formView.name)}}function On(t,n){if(t&1&&(a(0,"spk-tooltip",40)(1,"spk-icon"),c(2,"question"),r()()),t&2){let e=p(2).$implicit;m("message",e.formView.longDescription)}}function kn(t,n){if(t&1&&(a(0,"app-file-tree",34)(1,"label",39),c(2),F(3,On,3,1,"spk-tooltip",40),r(),_(4,"input",41),r()),t&2){let e,o=p().$implicit,i=p();m("startingPath",i.getFormFieldValue(0,o.formGroupName,o.formView.name)),s(),W("for","destination-",o.formGroupName,"-",o.index,""),s(),V(" ",(e=o.formView.shortDescription)!==null&&e!==void 0?e:o.formView.name," "),s(),g(o.formView.longDescription?3:-1),s(),W("id","destination-",o.formGroupName,"-",o.index,""),X("formControlName",o.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;m("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(),_(4,"input",41),F(5,$n,2,0,"spk-icon",42)(6,In,2,0,"spk-icon",42),r()),t&2){let e,o=p().$implicit;s(),W("for","destination-",o.formGroupName,"-",o.index,""),s(),V(" ",(e=o.formView.shortDescription)!==null&&e!==void 0?e:o.formView.name," "),s(),g(o.formView.longDescription?3:-1),s(),W("id","destination-",o.formGroupName,"-",o.index,""),X("formControlName",o.formView.name),s(),g(o.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 i=p(2).$implicit,l=p();return S(l.oauthStartTokenCreation(i.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 i=p(2).$implicit;return S(i.formView.showPassword=!i.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 i=p(2).$implicit;return S(i.formView.showPassword=!i.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(),_(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,o=p().$implicit;s(),W("for","destination-",o.formGroupName,"-",o.index,""),s(),V(" ",(e=o.formView.shortDescription)!==null&&e!==void 0?e:o.formView.name," "),s(),W("id","destination-",o.formGroupName,"-",o.index,""),X("formControlName",o.formView.name),m("type",o.formView.showPassword?"text":"password"),s(),g(o.oauthField===o.formView.name?4:5),s(2),g(o.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;m("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;m("value",e),s(),L(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(),_(4,"input",48),M(5,Ln,2,2,"spk-option",17,I),r()),t&2){let e,o=p().$implicit;s(),W("for","destination-",o.formGroupName,"-",o.index,""),s(),V(" ",(e=o.formView.shortDescription)!==null&&e!==void 0?e:o.formView.name," "),s(),g(o.formView.longDescription?3:-1),s(),W("id","destination-",o.formGroupName,"-",o.index,""),X("formControlName",o.formView.name),s(),w(o.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;m("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;m("value",e),s(),L(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"),_(6,"input",50),a(7,"spk-icon",42),c(8,"resize"),r()(),a(9,"spk-select"),_(10,"label")(11,"input",51),M(12,Kn,2,2,"spk-option",17,I),r()()()),t&2){let e,o=p().$implicit,i=p();m("formGroupName",o.formView.name),s(),W("for","destination-",o.formGroupName,"-",o.index,""),s(),V(" ",(e=o.formView.shortDescription)!==null&&e!==void 0?e:o.formView.name," "),s(),g(o.formView.longDescription?3:-1),s(3),W("id","destination-",o.formGroupName,"-",o.index,""),s(6),w(i.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;m("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(),_(4,"input",52),a(5,"spk-icon",42),c(6,"numpad"),r()()),t&2){let e,o=p().$implicit;s(),W("for","destination-",o.formGroupName,"-",o.index,""),s(),V(" ",(e=o.formView.shortDescription)!==null&&e!==void 0?e:o.formView.name," "),s(),g(o.formView.longDescription?3:-1),s(),W("id","destination-",o.formGroupName,"-",o.index,""),X("formControlName",o.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;m("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(),_(4,"input",53),r()),t&2){let e,o=p().$implicit;s(),W("for","destination-",o.formGroupName,"-",o.index,""),s(),V(" ",(e=o.formView.shortDescription)!==null&&e!==void 0?e:o.formView.name," "),s(),g(o.formView.longDescription?3:-1),s(),W("id","destination-",o.formGroupName,"-",o.index,""),X("formControlName",o.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;m("message",e.formView.longDescription)}}function Qn(t,n){t&1&&(a(0,"spk-option",55),c(1,"None"),r()),t&2&&m("value","None")}function Yn(t,n){if(t&1&&(a(0,"spk-option",17),c(1),_(2,"spk-checkbox",56),r()),t&2){let e=p().$implicit;m("value",e),s(),V(" ",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(),_(4,"input",54),M(5,Zn,2,1,null,null,I),r()),t&2){let e,o=p().$implicit;m("selectMultiple",!0),s(),W("for","destination-",o.formGroupName,"-",o.index,""),s(),V(" ",(e=o.formView.shortDescription)!==null&&e!==void 0?e:o.formView.name," "),s(),g(o.formView.longDescription?3:-1),s(),X("formControlName",o.formView.name),s(),w(o.formView.options)}}function eo(t,n){if(t&1&&(a(0,"spk-tooltip",40)(1,"spk-icon"),c(2,"question"),r()()),t&2){let e=p(2).$implicit;m("message",e.formView.longDescription)}}function to(t,n){if(t&1&&(a(0,"spk-form-field")(1,"label",39),c(2),F(3,eo,3,1,"spk-tooltip",40),r(),_(4,"input",41),r()),t&2){let e,o=p().$implicit;s(),W("for","destination-",o.formGroupName,"-",o.index,""),s(),V(" ",(e=o.formView.shortDescription)!==null&&e!==void 0?e:o.formView.name," "),s(),g(o.formView.longDescription?3:-1),s(),W("id","destination-",o.formGroupName,"-",o.index,""),X("formControlName",o.formView.name)}}function no(t,n){if(t&1){let e=P();a(0,"div",31),K(1,32),F(2,Pn,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,to,5,9,"spk-form-field"),z(),a(12,"button",38),C("click",function(){let i=f(e).$implicit,l=p();return S(l.removeFormView(i.formView,0))}),a(13,"spk-icon"),c(14,"x-circle"),r()()()}if(t&2){let e=n.$implicit;s(),m("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 oe,oo=["Bytes","KB","MB","GB","TB","PB"],io=[{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({})}),Dr=(t,n)=>$e.group({name:$e.control(t),value:$e.control(n)}),Pt=class t{#e=x(me);#t=x(ie);#o=x(Te);formRef=ge.required("formRef");optionsForm=this.#e.optionsForm;selectedOptions=this.#e.selectedOptions;nonSelectedOptions=this.#e.nonSelectedOptions;isSubmitting=this.#e.isSubmitting;sizeOptions=A(oo);rentationOptions=A(io);oauthStartTokenCreation(n){}getFormFieldValue(n,e,o){return this.optionsForm.controls.advancedOptions.controls[o].value}removeFormView(n,e){this.#e.removeOptionFromFormGroup(n)}addNewOption(n){this.#e.addOptionToFormGroup(n)}retentionOptionDisplayFn(){let n=this.rentationOptions();return e=>{let o=n.find(i=>i.value===e);return o?o.name:""}}displayFn(){let n=this.#e.advancedOptions();return e=>{let o=n.find(i=>i.name===e);return o?`${o.name}`:""}}goBack(){this.#t.navigate(["schedule"],{relativeTo:this.#o.parent})}submit(){this.#e.submit()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=ne({type:t,selectors:[["app-options"]],viewQuery:function(e,o){e&1&&Ce(o.formRef,fn,5),e&2&&fe()},decls:43,vars:5,consts:()=>{let n;n=$localize`Select an option...`;let e;e=$localize`Options`;let o;o=$localize`Remote volume size`;let i;i=$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=xe(d);let N;N=$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,o,i,l,d,N,$,[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,o){if(e&1){let i=P();a(0,"form",10,0),C("submit",function(){return f(i),S(o.submit())}),a(2,"h3",11),O(3,3),r(),a(4,"div",12)(5,"div",13)(6,"spk-form-field")(7,"label",14),O(8,4),r(),_(9,"input",15),r(),a(10,"spk-select"),_(11,"input",16),M(12,En,2,2,"spk-option",17,I),r()(),a(14,"p"),T(15,5),_(16,"a",18),E(),r()(),a(17,"spk-select",19)(18,"label",14),O(19,6),r(),_(20,"input",20),M(21,Dn,2,2,"spk-option",17,I),r(),a(23,"app-toggle-card",21),K(24,22),T(25,7),a(26,"spk-menu")(27,"button",23),_(28,"spk-icon"),r(),K(29,24),M(30,hn,3,1,"button",25,I),z(),r(),E(),z(),M(32,Nn,1,7,"ng-container",null,I),r(),F(34,no,15,2,"ng-template",null,1,st),a(36,"div",26)(37,"button",27),C("click",function(){return f(i),S(o.goBack())}),T(38,8),_(39,"spk-icon"),E(),r(),a(40,"button",28),T(41,9),_(42,"spk-icon"),E(),r()()()}e&2&&(m("formGroup",o.optionsForm),s(12),w(o.sizeOptions()),s(5),m("displayFn",o.retentionOptionDisplayFn()),s(4),w(o.rentationOptions()),s(2),m("disallowToggle",!0),s(7),w(o.nonSelectedOptions()),s(2),w(o.selectedOptions()),s(8),ke("loader",o.isSubmitting()))},dependencies:[Ae,he,re,Re,we,ae,De,ye,Ne,ve,pt,gt,ce,Ge,se,le,be,Ft,pe,je,qe,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 ro=["formRef"];function ao(t,n){if(t&1&&(a(0,"spk-option",38),c(1),r()),t&2){let e=n.$implicit;m("value",e.key),s(),L(e.label)}}function so(t,n){if(t&1){let e=P();a(0,"div",26)(1,"spk-form-field")(2,"label",27),O(3,8),r(),a(4,"input",28,1),C("focus",function(){f(e);let i=Se(5);return S(i.showPicker())}),r(),a(6,"spk-icon",29),c(7,"clock"),r()(),a(8,"spk-form-field"),_(9,"label",30),a(10,"input",31,2),C("focus",function(){f(e);let i=Se(11);return S(i.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),O(18,9),r(),_(19,"input",35),r(),a(20,"spk-select",36),_(21,"input",37),M(22,ao,2,2,"spk-option",38,I),r()(),a(24,"app-toggle-card",39),K(25,40),O(26,10),z(),a(27,"div",41)(28,"spk-toggle",21),T(29,11),_(30,"input",42),E(),r(),a(31,"spk-toggle",21),T(32,12),_(33,"input",43),E(),r(),a(34,"spk-toggle",21),T(35,13),_(36,"input",44),E(),r(),a(37,"spk-toggle",21),T(38,14),_(39,"input",45),E(),r(),a(40,"spk-toggle",21),T(41,15),_(42,"input",46),E(),r(),a(43,"spk-toggle",21),T(44,16),_(45,"input",47),E(),r(),a(46,"spk-toggle",21),T(47,17),_(48,"input",48),E(),r()()(),z()}if(t&2){let e=p();s(20),m("displayFn",e.displayFn),s(2),w(e.unitOptions),s(2),m("disallowToggle",!0)}}var Y=new oe,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}}})=>Y.group({autoRun:Y.control(t.autoRun),nextTime:Y.group({time:Y.control(t.nextTime.time),date:Y.control(t.nextTime.date)}),runAgain:Y.group({repeatValue:Y.control(t.runAgain.repeatValue),repeatUnit:Y.control(t.runAgain.repeatUnit),allowedDays:Y.group({mon:Y.control(t.runAgain.allowedDays.mon),tue:Y.control(t.runAgain.allowedDays.tue),wed:Y.control(t.runAgain.allowedDays.wed),thu:Y.control(t.runAgain.allowedDays.thu),fri:Y.control(t.runAgain.allowedDays.fri),sat:Y.control(t.runAgain.allowedDays.sat),sun:Y.control(t.runAgain.allowedDays.sun)})})}),Ot=class t{#e=x(me);#t=x(ie);#o=x(Te);formRef=ge.required("formRef");scheduleForm=this.#e.scheduleForm;scheduleFormSignal=this.#e.scheduleFormSignal;unitOptions=qt;displayFn(n){let e=qt.find(o=>o.key===n);return e?`${e.label}`:""}goBack(){this.#t.navigate(["source-data"],{relativeTo:this.#o.parent})}next(){this.#t.navigate(["options"],{relativeTo:this.#o.parent})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=ne({type:t,selectors:[["app-schedule"]],viewQuery:function(e,o){e&1&&Ce(o.formRef,ro,5),e&2&&fe()},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 o;o=$localize`If a date was missed, the job will run as soon as possible.`;let i;i=$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 N;N=$localize`Run again every`;let $;$=$localize`Allowed days`;let y;y=$localize` Monday ${"\uFFFD#30\uFFFD\uFFFD/#30\uFFFD"}:TAG_INPUT:`;let Z;Z=$localize` Tuesday ${"\uFFFD#33\uFFFD\uFFFD/#33\uFFFD"}:TAG_INPUT:`;let J;J=$localize` Wednesday ${"\uFFFD#36\uFFFD\uFFFD/#36\uFFFD"}:TAG_INPUT:`;let G;G=$localize` Thursday ${"\uFFFD#39\uFFFD\uFFFD/#39\uFFFD"}:TAG_INPUT:`;let ee;ee=$localize` Friday ${"\uFFFD#42\uFFFD\uFFFD/#42\uFFFD"}:TAG_INPUT:`;let te;te=$localize` Saturday ${"\uFFFD#45\uFFFD\uFFFD/#45\uFFFD"}:TAG_INPUT:`;let h;return h=$localize` Sunday ${"\uFFFD#48\uFFFD\uFFFD/#48\uFFFD"}:TAG_INPUT:`,[["formRef",""],["timeRef",""],["dateRef",""],n,e,o,i,l,d,N,$,y,Z,J,G,ee,te,h,[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,o){if(e&1){let i=P();a(0,"form",18,0),C("submit",function(){return f(i),S(o.next())}),a(2,"h3",19),O(3,3),r(),a(4,"div",20)(5,"spk-toggle",21),T(6,4),_(7,"input",22),E(),r(),a(8,"p"),O(9,5),r()(),F(10,so,49,2),a(11,"div",23)(12,"button",24),C("click",function(){return f(i),S(o.goBack())}),T(13,6),_(14,"spk-icon"),E(),r(),a(15,"button",25),T(16,7),_(17,"spk-icon"),E(),r()()()}if(e&2){let i;m("formGroup",o.scheduleForm),s(10),g((i=o.scheduleFormSignal())!=null&&i.autoRun?10:-1)}},dependencies:[Ae,he,re,Re,we,ae,De,ye,Ne,ve,le,ce,pe,be,se,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 lo(t,n){if(t&1&&(a(0,"spk-option",2),c(1),r()),t&2){let e=n.$implicit;m("value",e.value),s(),L(e.key)}}function po(t,n){if(t&1&&(a(0,"spk-option",2),c(1),r()),t&2){let e=n.$implicit;m("value",e.value),s(),L(e.key)}}function co(t,n){if(t&1){let e=P();a(0,"spk-select",0)(1,"input",5),C("ngModelChange",function(i){f(e);let l=p(2);return S(l.updateStateExpression(i))}),r(),M(2,po,2,2,"spk-option",2,I),r()}if(t&2){let e,o=p(2);m("hideClearButton",!0)("displayFn",o.displayFn),s(),m("ngModel",(e=o.pathState())==null?null:e.expression),s(),w(o.fileGroupOptions())}}function mo(t,n){if(t&1){let e=P();a(0,"spk-form-field")(1,"input",5),C("ngModelChange",function(i){f(e);let l=p(2);return S(l.updateStateExpression(i))}),r()()}if(t&2){let e,o=p(2);s(),m("ngModel",(e=o.pathState())==null?null:e.expression)}}function _o(t,n){if(t&1){let e=P();a(0,"spk-select",0)(1,"input",1),C("ngModelChange",function(i){f(e);let l=p();return S(l.updateStateType(i))}),r(),M(2,lo,2,2,"spk-option",2,I),r(),F(4,co,4,3,"spk-select",0)(5,mo,2,1,"spk-form-field"),a(6,"div",3),C("click",function(){f(e);let i=p();return S(i.removeFilter())}),a(7,"spk-icon",4),c(8,"x-circle"),r()()}if(t&2){let e,o,i=p();m("hideClearButton",!0)("displayFn",i.displayFn),s(),m("ngModel",(e=i.pathState())==null?null:e.type),s(),w(i.expressionOptions()),s(2),g(((o=i.pathState())==null?null:o.type)==="-FileGroup"||((o=i.pathState())==null?null:o.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"}],uo=[{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"}],Tt=class t{path=at.required();pathChange=et();remove=et();expressionOptions=A(Yt);fileGroupOptions=A(uo);pathState=A(null);typeState=U(()=>{let n=this.pathState();return n?n.type:null});pathEffect=lt(()=>{let n=this.path(),e=n.slice(1),o=n.startsWith("-")?"-":"+";return e.startsWith("/")&&e.endsWith("/")?this.pathState.set({type:`${o}Folder`,path:e,expression:e}):e.startsWith("*")&&e.endsWith("*/")?this.pathState.set({type:`${o}FolderNameIncludes`,path:e,expression:e.slice(1,-2)}):e.startsWith("[.*")&&e.endsWith("[^\\/]*]")?this.pathState.set({type:`${o}FileNameIncludes`,path:e,expression:e.slice(3,-7)}):e.startsWith("{")&&e.endsWith("}")?this.pathState.set({type:`${o}FileGroup`,path:e,expression:e.slice(1,-1)}):e.startsWith("[")&&e.endsWith("]")?this.pathState.set({type:`${o}Regex`,path:e,expression:e.slice(1,-1)}):e.startsWith("*.")?this.pathState.set({type:`${o}Extension`,path:e,expression:e.slice(2)}):this.pathState.set({type:`${o}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),o=n.type.slice(1);if(o==="Folder"){let i=n.expression.endsWith("/"),l=n.expression.startsWith("/");return i&&l?`${e}${n.expression}`:i?`${e}${n.expression}/`:l?`${e}/${n.expression}`:`${e}/${n.expression}/`}return o==="FolderNameIncludes"?`${e}*${n.expression}*/`:o==="FileNameIncludes"?`${e}[.*${n.expression}[^\\/]*]`:o==="FileGroup"?`${e}{${n.expression}}`:o==="Regex"?`${e}[${n.expression}]`:o==="Extension"?`${e}*.${n.expression}`:`${e}${n.expression}`}removeFilter(){this.remove.emit()}displayFn(n){let e=Yt.find(o=>o.value===n);return e?e.key:""}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=ne({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,o){e&1&&F(0,_o,9,4),e&2&&g(o.pathState()?0:-1)},dependencies:[ut,re,ae,Lt,ce,pe,se,le],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 Fo=["formRef"];function go(t,n){if(t&1){let e=P();a(0,"app-filter",42),C("pathChange",function(i){let l=f(e).$index,d=p(2);return S(d.patchPathAt(i,l))})("remove",function(){let i=f(e).$index,l=p(2);return S(l.removePathAt(i))}),r()}if(t&2){let e=n.$implicit;m("path",e)}}function Co(t,n){if(t&1&&M(0,go,1,1,"app-filter",41,I),t&2){let e=p();w(e.pathArray())}}function fo(t,n){if(t&1&&(a(0,"spk-option",45),c(1),r()),t&2){let e=n.$implicit;m("value",e),s(),L(e)}}function So(t,n){if(t&1&&(a(0,"div",40)(1,"spk-form-field"),_(2,"input",43),r(),a(3,"spk-select"),_(4,"input",44),M(5,fo,2,2,"spk-option",45,I),r()()),t&2){let e=p();s(5),w(e.sizeOptions())}}var Ie=new oe,To=["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)})})}),kt=class t{#e=x(me);#t=x(ie);#o=x(Te);formRef=ge.required("formRef");sourceDataForm=this.#e.sourceDataForm;sourceDataFormSignal=this.#e.sourceDataFormSignal;newPathCtrl=new mt("");filesLargerThan=U(()=>this.sourceDataFormSignal()?.excludes?.filesLargerThan?.size!==null);sizeOptions=A(To);pathSignal=Q(this.sourceDataForm.controls.path.valueChanges);pathArray=U(()=>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 i=this.sourceDataForm.controls.path.value.split("\0").filter(d=>!d.startsWith("-")&&!d.startsWith("+")).join("\0"),l=this.pathArray().map((d,N)=>N===e?`${n}`:`${d}`).join("\0");this.sourceDataForm.controls.path.setValue(`${i}\0${l}`)}removePathAt(n){let o=this.sourceDataForm.controls.path.value.split("\0").filter(l=>!l.startsWith("-")&&!l.startsWith("+")).join("\0"),i=this.pathArray().filter((l,d)=>d!==n).join("\0");this.sourceDataForm.controls.path.setValue(`${o}\0${i}`)}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.#o.parent})}next(){this.#t.navigate(["schedule"],{relativeTo:this.#o.parent})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=ne({type:t,selectors:[["app-source-data"]],viewQuery:function(e,o){e&1&&Ce(o.formRef,Fo,5),e&2&&fe()},decls:55,vars:12,consts:()=>{let n;n=$localize`Path`;let e;e=$localize`Add a direct path`;let o;o=$localize`Hidden files`;let i;i=$localize`System files`;let l;l=$localize`Temporary files`;let d;d=$localize`Source Data`;let N;N=$localize`Folder path`;let $;$=$localize`${"\uFFFD#12\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SPK_ICON: Go back `;let y;y=$localize`${"\uFFFD#15\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#15\uFFFD"}:CLOSE_TAG_SPK_ICON: Continue `;let Z;Z=$localize`Source Data`;let J;J=$localize`Add Path`;let G;G=$localize`Add a path directly from your machine.`;let ee;ee=$localize`Filters`;let te;te=$localize`Customize your filters.`;let h;h=$localize`Add filter`;let u;u=$localize`Exclude`;let D;D=$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 k;k=$localize` System files ${"\uFFFD#48\uFFFD\uFFFD/#48\uFFFD"}:TAG_INPUT:`;let de;de=$localize` Temporary files ${"\uFFFD#51\uFFFD\uFFFD/#51\uFFFD"}:TAG_INPUT:`;let _e;_e=$localize` Files larger than `;let Xe;return Xe=$localize`Select an option...`,[["formRef",""],d,N,$,y,Z,J,G,ee,te,h,u,D,H,k,de,_e,[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",o,"formControlName","hidden"],["type","checkbox","placeholder",i,"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",Xe],[3,"value"]]},template:function(e,o){if(e&1){let i=P();a(0,"form",17,0),C("submit",function(){return f(i),S(o.next())}),a(2,"div",18)(3,"h3",19),O(4,1),r(),a(5,"app-file-tree",20)(6,"label",21),O(7,2),r(),_(8,"input",22),r(),a(9,"div",23)(10,"button",24),C("click",function(){return f(i),S(o.goBack())}),T(11,3),_(12,"spk-icon"),E(),r(),a(13,"button",25),T(14,4),_(15,"spk-icon"),E(),r()()(),a(16,"div",26)(17,"h3",19),O(18,5),r(),a(19,"app-toggle-card",27),K(20,28),O(21,6),z(),a(22,"p",29),O(23,7),r(),a(24,"div",30)(25,"spk-form-field"),_(26,"input",31),r(),a(27,"button",32),C("click",function(){return f(i),S(o.addNewPath())}),a(28,"spk-icon"),c(29,"plus"),r()()()(),a(30,"app-toggle-card",27),K(31,28),O(32,8),z(),a(33,"p",29),O(34,9),r(),a(35,"button",33),C("click",function(){return f(i),S(o.addFilter())}),O(36,10),r(),F(37,Co,2,0),r(),a(38,"app-toggle-card",34),K(39,28),O(40,11),z(),a(41,"p",29),O(42,12),r(),a(43,"spk-toggle",35),T(44,13),_(45,"input",36),E(),r(),a(46,"spk-toggle",35),T(47,14),_(48,"input",37),E(),r(),a(49,"spk-toggle",35),T(50,15),_(51,"input",38),E(),r(),a(52,"spk-toggle",39),C("click",function(){return f(i),S(o.toggleFilesLargerThan())}),O(53,16),r(),F(54,So,7,0,"div",40),r()()()}if(e&2){let i;m("formGroup",o.sourceDataForm),s(5),m("multiSelect",!0)("startingPath",o.getPath())("showFiles",!0),s(14),m("disallowToggle",!0),s(7),m("formControl",o.newPathCtrl),s(4),m("disallowToggle",!0),s(7),g((i=o.pathSignal())!=null&&i.length?37:-1),s(),m("disallowToggle",!0),s(14),ke("active",o.filesLargerThan()),s(2),g(o.filesLargerThan()?54:-1)}},dependencies:[ut,he,re,Re,we,ae,De,Ae,_t,ye,Ne,ve,le,pe,se,Ge,ce,be,qe,Ve,Tt],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 ue=new oe,me=class t{#e=x(ie);#t=x(ct);#o=x(We);#i=x(Ct);generalForm=Wt();sourceDataForm=Zt();scheduleForm=Qt();destinationForm=Jt();optionsForm=jt();isDraft=A(!1);backupId=A(null);isSubmitting=A(!1);finishedLoading=A(!1);backupDefaults=A(null);isNew=U(()=>this.backupId()==="new");selectedOptions=A([]);selectedAdvancedFormPair=A([]);destinationFormPair=A({oauthField:null,custom:[],dynamic:[],advanced:[]});notSelectedAdvancedFormPair=U(()=>{let n=this.destinationFormPair()?.advanced??[],e=this.selectedAdvancedFormPair()??[];return n.filter(o=>e.findIndex(i=>i.name===o.name)===-1)});selectedHttpOptions=A([]);notSelectedHttpOptions=U(()=>{let n=this.httpOptions(),e=this.selectedHttpOptions()??[];return n.filter(o=>e.findIndex(i=>i.name===o.name)===-1)});sourceDataFormSignal=Q(this.sourceDataForm.valueChanges);destinationFormSignal=Q(this.destinationForm.valueChanges);generalFormSignal=Q(this.generalForm.valueChanges);encryptionFieldSignal=Q(this.generalForm.controls.encryption.valueChanges);scheduleFormSignal=Q(this.scheduleForm.valueChanges);destinationOptions=U(()=>this.#t.backendModules()??[]);httpOptions=U(()=>this.#t.systemInfo()?.GenericModules?.find(n=>n.Key==="http-options")?.Options?.map(this.#n)??[]);advancedOptions=U(()=>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=U(()=>{let n=this.#t.systemInfo()?.EncryptionModules??[];return[At,...n]});nonSelectedOptions=U(()=>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,o){let i=this.notSelectedAdvancedFormPair().find(l=>l.name===n);i&&this.addAdvancedFormPair(i,e,o)}addHttpOptionByName(n,e,o){let i=this.notSelectedHttpOptions().find(l=>l.name===n);i&&this.addHttpOption(i,e,o)}addAdvancedFormPair(n,e,o){let i=this.destinationForm.controls.destinations.controls.at(e)?.controls.advanced,l=o??n.defaultValue;this.createFormField(i,n,l),this.selectedAdvancedFormPair.set([...this.selectedAdvancedFormPair(),n])}addHttpOption(n,e,o){let i=this.destinationForm.controls.destinations.controls.at(e)?.controls.advanced,l=o??n.defaultValue;this.createFormField(i,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(i=>i.name===n.name)!==-1?this.selectedAdvancedFormPair.update(i=>(i=i.filter(l=>l.name!==n.name),i)):this.selectedHttpOptions.update(i=>(i=i.filter(l=>l.name!==n.name),i))}removeHttpOption(n,e){this.destinationForm.controls.destinations.controls.at(e)?.controls.advanced.removeControl(n.name),this.selectedHttpOptions.update(o=>(o=o.filter(i=>i.name!==n.name),o))}submit(){this.isSubmitting.set(!0);let n=this.#l(),e=this.backupId();e==="new"||!e||this.isDraft()?this.#o.postApiV1Backups({requestBody:n}).pipe(Je(()=>this.isSubmitting.set(!1))).subscribe({next:o=>{console.log("submitted res",o),this.exit()},error:o=>{console.error("submitted error",o)}}):this.#o.putApiV1BackupById({id:e,requestBody:n}).pipe(Je(()=>this.isSubmitting.set(!1))).subscribe({next:o=>{console.log("submitted res",o),this.exit()},error:o=>{console.error("submitted error",o)}})}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??"",o=n.Filters?.map(y=>`${y.Include?"":"-"}${y.Expression}`)??[],i=n.Settings?.find(y=>y.Name==="--exclude-files-attributes")?.Value??"",l=n.Settings?.find(y=>y.Name==="--skip-files-larger-than")??null,d=l?.Value.replace(/[0-9]/g,"")??null,N=l?.Value.replace(/[^0-9]/g,"")??null,$={path:[...e,...o].join("\0"),excludes:{hiddenFiles:i.includes("hidden"),systemFiles:i.includes("system"),tempFiles:i.includes("temporary"),filesLargerThan:d&&N?{size:parseInt(N),unit:d.toUpperCase()}:null}};this.sourceDataForm.patchValue($)}mapDestinationToForm(n){let e=n.TargetURL?yt(n.TargetURL):null;e&&this.addDestinationFormGroup(e.destinationType,{custom:e.custom,dynamic:e.dynamic,advanced:e.advanced},!0)}#s(n){let e=yt(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"),o=e?.Value&&e.Value.length?e.Value:"",i={name:n.Name??"",description:n.Description??""};o&&o!==""&&(i.encryption=o),this.generalForm.patchValue(i)}mapScheduleToForm(n){if(!n){this.scheduleForm.patchValue({autoRun:!0});return}let e=this.#i.fromString(n.Repeat)??null,i={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(i)}mapOptionsToForms(n){let e=["--no-encryption","--exclude-files-attributes","--skip-files-larger-than"],o=this.advancedOptions();n.Settings?.forEach(i=>{if(i.Name==="encryption-module")return this.generalForm.controls.encryption.setValue(i.Value??"");if(!(i.Name&&e.includes(i.Name))){if(i.Name==="dblock-size"){let l=i.Value?.replace(/[^0-9]/g,""),d=i.Value?.replace(/[0-9]/g,"");return this.optionsForm.controls.remoteVolumeSize.setValue({size:l?parseInt(l):null,unit:d?d.toUpperCase():null})}if(i.Name&&i.Value){let l=o.find(d=>d.name===i.Name);if(!l)return;this.addOptionToFormGroup(l,i.Value)}}})}getCurrentTargetUrl(){return this.#a(this.destinationForm.controls.destinations)}#l(){let n=this.generalForm.value,e=this.optionsForm.value,o=this.scheduleForm.value,i=this.sourceDataForm.value,d=this.destinationForm.value.destinations?.length?this.#a(this.destinationForm.controls.destinations):[],N=null;o.runAgain?.repeatUnit&&o.runAgain?.repeatValue&&(N=this.#i.toString(o.runAgain.repeatValue,o.runAgain.repeatUnit));let $=o.runAgain?.allowedDays?Object.entries(o.runAgain?.allowedDays).filter(([u,D])=>D).map(([u,D])=>u):[],y=i.path?.split("\0")??[],Z=n.encryption===""?{Name:"--no-encryption",Value:"True"}:{Name:"encryption-module",Value:n.encryption??null},J=this.advancedOptions(),G=Object.entries(e.advancedOptions??{}).filter(([u,D])=>u&&D).map(([u,D])=>{let H=J.find(k=>k.name===u);return H?.type==="Size"?{Name:u,Value:`${D.size}${D.unit.toLowerCase()}`}:H?.type==="Integer"?{Name:u,Value:D.toString()}:H?.type==="Boolean"?{Name:u,Value:D.toString()}:{Name:u,Value:D}}),ee=[Z,...G],te=Object.entries(i.excludes??{}).filter(([u,D])=>D&&u!=="filesLargerThan").map(([u])=>u),h=i.excludes?.filesLargerThan;return te.length&&ee.push({Name:"--exclude-files-attributes",Value:te.join(",")}),h&&h.size!==null&&h.unit!==null&&ee.push({Name:"--skip-files-larger-than",Value:`${h.size}${h.unit}`}),{Backup:{Name:n.name,Description:n.description,TargetURL:d[0]??null,Sources:y.filter(u=>!u.startsWith("-")),Settings:ee,Filters:y.filter(u=>u.startsWith("-")).map((u,D)=>({Order:D,Include:!1,Expression:u.slice(1)}))},Schedule:o.autoRun?{Repeat:N,Time:o.nextTime?.date?new Date(`${o.nextTime.date}T${o.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),o={time:`${(""+e.getHours()).padStart(2,"0")}:${(""+e.getMinutes()).padStart(2,"0")}`};return n.indexOf("T")!==-1&&(o.date=e.toISOString().split("T")[0]),o}removeOptionFromFormGroup(n){let e=n.name;e&&(this.optionsForm.controls.advancedOptions.removeControl(e),this.selectedOptions.update(o=>(o=o.filter(i=>i.name!==e),o)))}addOptionToFormGroup(n,e){let o=this.optionsForm.controls.advancedOptions;this.createFormField(o,n,e??n.defaultValue),this.selectedOptions.update(i=>(i.push(n),i))}createFormField(n,e,o){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,ue.control(o));return}if(e.type==="Size"){let i=o.replace(/[0-9]/g,""),l=o.replace(/[^0-9]/g,"");n.addControl(e.name,ue.group({size:ue.control(l?parseInt(l):50),unit:ue.control(i?i.toUpperCase():"MB")}));return}if(e.type==="Integer"){n.addControl(e.name,ue.control(o?parseInt(o):0));return}if(e.type==="Boolean"){n.addControl(e.name,ue.control(o==="true"));return}if(e.type==="Flags"){n.addControl(e.name,ue.control(o??""));return}if(e.type==="Timespan"){n.addControl(e.name,ue.control(o,[Ee.pattern(/([-+]?\d{1,3}[smhDWMY])+/)]));return}}addDestinationFormGroup(n,e,o=!1){let i=this.destinationOptions().find(h=>h.Key===n),l=this.httpOptions();if(!i||!i.Options)return;let d=Oe.hasOwnProperty(n)&&Oe[n],N=d&&d.oauthField?d.oauthField:null,$=d&&d.customFields?d.customFields:{},y=d&&d.dynamicFields?d.dynamicFields:[],Z=d&&d.advancedFields?d.advancedFields:[],J=d&&d.ignoredAdvancedFields?d.ignoredAdvancedFields:[];this.destinationFormPair.set({oauthField:N,custom:[],dynamic:[],advanced:[]});let G=ue.group({}),ee=ue.group({}),te=ue.group({});$&&Object.entries($).forEach(([h,u],D)=>{let de=u,{formElement:H}=de,k=$t(de,["formElement"]);G.addControl(h,H(e?.custom[h])),this.destinationFormPair.update(_e=>(_e.custom.push(R({order:900+D},k)),_e))});for(let h=0;h<i.Options.length;h++){let u=i.Options[h];if(u.Deprecated)continue;let D=y.find(H=>H===u.Name||H.name===u.Name);if(D){let H=D&&typeof D!="string",k=H?D?.defaultValue??u.DefaultValue:u.DefaultValue,de={name:u.Name,type:u.Type,shortDescription:u.ShortDescription??void 0,longDescription:u.LongDescription??void 0,options:u.ValidValues,order:900+h},_e=H?R(R({},de),D):de,b=e?.dynamic[u.Name]??k??u.DefaultValue;this.createFormField(ee,_e,b),this.destinationFormPair.update(He=>(He.dynamic.push(_e),He))}else{if(J.find(Fe=>Fe===u.Name))continue;let k=Z.find(Fe=>Fe===u.Name||Fe.name===u.Name),de=k&&typeof k!="string",_e=e?.advanced[u.Name],Xe=_e??u.DefaultValue,b={name:u.Name,type:u.Type,shortDescription:u.ShortDescription??void 0,longDescription:u.LongDescription??void 0,options:u.ValidValues,defaultValue:Xe,order:900+h},He=de?R(R({},b),k):b;o&&_e&&(this.createFormField(te,He,Xe),this.selectedAdvancedFormPair.update(Fe=>(Fe.push(He),Fe))),this.destinationFormPair.update(Fe=>(Fe.advanced.push(He),Fe))}}for(let h=0;h<l.length;h++){let u=l[h],D=e?.advanced[u.name],H=D??u.defaultValue;o&&D&&(this.createFormField(te,u,H),this.selectedHttpOptions.update(k=>(k.push(u),k)))}this.destinationFormPair.update(h=>({oauthField:h.oauthField,custom:h.custom.sort((u,D)=>u.order-D.order),dynamic:h.dynamic.sort((u,D)=>u.order-D.order),advanced:h.advanced.sort((u,D)=>u.order-D.order)})),this.destinationForm.controls.destinations.push(en({key:i.Key,customGroup:G,dynamicGroup:ee,advancedGroup:te}))}#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 Eo=["formRef"],Do=(t,n,e,o)=>({index:t,formView:n,formGroupName:"custom",destinationType:e,oauthField:o}),Dt=t=>({$implicit:t}),ho=(t,n,e,o)=>({index:t,formView:n,formGroupName:"dynamic",destinationType:e,oauthField:o}),yo=(t,n,e,o)=>({index:t,formView:n,formGroupName:"advanced",destinationType:e,oauthField:o}),No=(t,n,e,o)=>({index:t,formView:n,formGroupName:"advanced",asHttpOptions:!0,destinationType:e,oauthField:o}),Ao=()=>({maxWidth:"700px",width:"100%"});function Po(t,n){t&1&&(T(0,2,2),_(1,"spk-icon"),E())}function Oo(t,n){t&1&&O(0,2,3)}function ko(t,n){if(t&1){let e=P();T(0,2,1),a(1,"button",19),C("click",function(){f(e);let i=p();return S(i.testDestination())}),F(2,Po,2,0)(3,Oo,1,0),r(),E()}if(t&2){let e=p();s(),ke("success",e.successfulTest()),s(),g(e.successfulTest()?2:3)}}function xo(t,n){if(t&1){let e=P();a(0,"p",25),C("click",function(){f(e);let i=p();return S(i.removeDestinationFormGroup(i.destinationCount()-1))}),T(1,5),_(2,"span",26),E(),r()}}function $o(t,n){t&1&&(a(0,"p"),O(1,6),r())}function Io(t,n){if(t&1){let e=P();a(0,"div",31),C("click",function(){let i=f(e).$implicit,l=p(2);return S(l.addDestinationFormGroup(i.key))}),a(1,"h3"),c(2),r(),a(3,"p"),c(4),r()()}if(t&2){let e=n.$implicit;s(2),L(e.displayName),s(2),L(e.description)}}function Mo(t,n){if(t&1){let e=P();a(0,"button",32),C("click",function(){let i=f(e).$implicit,l=p(2);return S(l.addDestinationFormGroup(i.key))}),c(1),r()}if(t&2){let e=n.$implicit;s(),V(" ",e.displayName," ")}}function wo(t,n){if(t&1&&(a(0,"div",27),M(1,Io,5,2,"div",28,I),r(),a(3,"spk-menu")(4,"button",29),O(5,7),r(),K(6,18),M(7,Mo,2,1,"button",30,I),z(),r()),t&2){let e=p();s(),w(e.destinationTypeOptionsFocused()),s(6),w(e.destinationTypeOptionsNotFocused())}}function Ro(t,n){t&1&&Ue(0)}function vo(t,n){if(t&1&&F(0,Ro,1,0,"ng-container",37),t&2){let e,o=n.$implicit,i=n.$index;p();let l=Se(29),d=p();m("ngTemplateOutlet",l)("ngTemplateOutletContext",Be(7,Dt,ot(2,Do,i,o,(e=d.destinationFormSignal())==null||e.destinations==null||e.destinations[0]==null?null:e.destinations[0].destinationType,d.destinationFormPair().oauthField)))}}function Go(t,n){t&1&&Ue(0)}function bo(t,n){if(t&1&&F(0,Go,1,0,"ng-container",37),t&2){let e,o=n.$implicit,i=n.$index;p();let l=Se(29),d=p();m("ngTemplateOutlet",l)("ngTemplateOutletContext",Be(7,Dt,ot(2,ho,i,o,(e=d.destinationFormSignal())==null||e.destinations==null||e.destinations[0]==null?null:e.destinations[0].destinationType,d.destinationFormPair().oauthField)))}}function Vo(t,n){if(t&1){let e=P();T(0,8,1),a(1,"button",32),C("click",function(){let i=f(e).$implicit,l=p(2);return S(l.addAdvancedFormPair(i,0))}),r(),E()}if(t&2){let e=n.$implicit;s(),tt(e.name),nt(0)}}function Lo(t,n){t&1&&Ue(0)}function Uo(t,n){if(t&1&&F(0,Lo,1,0,"ng-container",37),t&2){let e,o=n.$implicit,i=n.$index;p();let l=Se(29),d=p();m("ngTemplateOutlet",l)("ngTemplateOutletContext",Be(7,Dt,ot(2,yo,i,o,(e=d.destinationFormSignal())==null||e.destinations==null||e.destinations[0]==null?null:e.destinations[0].destinationType,d.destinationFormPair().oauthField)))}}function Bo(t,n){if(t&1){let e=P();T(0,9,1),a(1,"button",32),C("click",function(){let i=f(e).$implicit,l=p(2);return S(l.addHttpOption(i,0))}),r(),E()}if(t&2){let e=n.$implicit;s(),tt(e.name),nt(0)}}function Ko(t,n){t&1&&Ue(0)}function zo(t,n){if(t&1&&F(0,Ko,1,0,"ng-container",37),t&2){let e,o=n.$implicit,i=n.$index;p();let l=Se(29),d=p();m("ngTemplateOutlet",l)("ngTemplateOutletContext",Be(7,Dt,ot(2,No,i,o,(e=d.destinationFormSignal())==null||e.destinations==null||e.destinations[0]==null?null:e.destinations[0].destinationType,d.destinationFormPair().oauthField)))}}function Xo(t,n){if(t&1&&(a(0,"spk-tooltip",47)(1,"spk-icon"),c(2,"question"),r()()),t&2){let e=p(2).$implicit;m("message",e.formView.longDescription)}}function Ho(t,n){if(t&1&&(a(0,"app-file-tree",40)(1,"label",46),c(2),F(3,Xo,3,1,"spk-tooltip",47),r(),_(4,"input",48),r()),t&2){let e,o=p().$implicit,i=p(2);m("startingPath",i.getFormFieldValue(0,o.formGroupName,o.formView.name))("accepts",o.formView.accepts)("showFiles",!0)("showHiddenNodes",!0)("selectFiles",!0),s(),B("for","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),s(),V(" ",(e=o.formView.shortDescription)!==null&&e!==void 0?e:o.formView.name," "),s(),g(o.formView.longDescription?3:-1),s(),B("id","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),X("formControlName",o.formView.name)}}function Wo(t,n){if(t&1&&(a(0,"spk-tooltip",47)(1,"spk-icon"),c(2,"question"),r()()),t&2){let e=p(2).$implicit;m("message",e.formView.longDescription)}}function jo(t,n){if(t&1&&(a(0,"app-file-tree",41)(1,"label",46),c(2),F(3,Wo,3,1,"spk-tooltip",47),r(),_(4,"input",48),r()),t&2){let e,o=p().$implicit,i=p(2);m("startingPath",i.getFormFieldValue(0,o.formGroupName,o.formView.name)),s(),B("for","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),s(),V(" ",(e=o.formView.shortDescription)!==null&&e!==void 0?e:o.formView.name," "),s(),g(o.formView.longDescription?3:-1),s(),B("id","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),X("formControlName",o.formView.name)}}function qo(t,n){if(t&1&&(a(0,"spk-tooltip",47)(1,"spk-icon"),c(2,"question"),r()()),t&2){let e=p(2).$implicit;m("message",e.formView.longDescription)}}function Qo(t,n){t&1&&(a(0,"spk-icon",50),c(1,"link"),r())}function Yo(t,n){t&1&&(a(0,"spk-icon",50),c(1,"envelope"),r())}function Zo(t,n){t&1&&(a(0,"spk-icon",50),c(1,"textbox"),r())}function Jo(t,n){if(t&1&&(a(0,"spk-form-field")(1,"label",46),c(2),F(3,qo,3,1,"spk-tooltip",47),r(),_(4,"input",49),F(5,Qo,2,0,"spk-icon",50)(6,Yo,2,0,"spk-icon",50)(7,Zo,2,0,"spk-icon",50),r()),t&2){let e,o=p().$implicit;s(),B("for","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),s(),V(" ",(e=o.formView.shortDescription)!==null&&e!==void 0?e:o.formView.name," "),s(),g(o.formView.longDescription?3:-1),s(),B("id","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),X("formControlName",o.formView.name),m("type",o.formView.type==="Email"?"email":"text"),s(),g(o.formView.type==="Path"?5:o.formView.type==="Email"?6:7)}}function ei(t,n){if(t&1){let e=P();a(0,"span",54),C("click",function(){f(e);let i=p(2).$implicit,l=p(2);return S(l.oauthStartTokenCreation(i.destinationType))}),c(1,"AuthID"),r()}}function ti(t,n){t&1&&(a(0,"spk-icon",50),c(1,"password"),r())}function ni(t,n){if(t&1){let e=P();a(0,"spk-icon",55),C("click",function(){f(e);let i=p(2).$implicit;return S(i.formView.showPassword=!i.formView.showPassword)}),c(1," eye "),r()}}function oi(t,n){if(t&1){let e=P();a(0,"spk-icon",55),C("click",function(){f(e);let i=p(2).$implicit;return S(i.formView.showPassword=!i.formView.showPassword)}),c(1," eye-slash "),r()}}function ii(t,n){if(t&1&&(a(0,"spk-form-field")(1,"label",46),c(2),r(),_(3,"input",51),F(4,ei,2,0,"span",52)(5,ti,2,0,"spk-icon",50)(6,ni,2,0,"spk-icon",53)(7,oi,2,0,"spk-icon",53),r()),t&2){let e,o=p().$implicit;s(),B("for","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),s(),V(" ",(e=o.formView.shortDescription)!==null&&e!==void 0?e:o.formView.name," "),s(),B("id","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),X("formControlName",o.formView.name),m("type",o.formView.showPassword?"text":"password"),s(),g(o.oauthField===o.formView.name?4:5),s(2),g(o.formView.showPassword?6:7)}}function ri(t,n){if(t&1&&(a(0,"spk-tooltip",47)(1,"spk-icon"),c(2,"question"),r()()),t&2){let e=p(2).$implicit;m("message",e.formView.longDescription)}}function ai(t,n){if(t&1&&(a(0,"spk-option",57),c(1),r()),t&2){let e=n.$implicit;m("value",e),s(),L(e)}}function si(t,n){if(t&1&&(a(0,"spk-select")(1,"label",46),c(2),F(3,ri,3,1,"spk-tooltip",47),r(),_(4,"input",56),M(5,ai,2,2,"spk-option",57,I),r()),t&2){let e,o=p().$implicit;s(),B("for","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),s(),V(" ",(e=o.formView.shortDescription)!==null&&e!==void 0?e:o.formView.name," "),s(),g(o.formView.longDescription?3:-1),s(),B("id","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),X("formControlName",o.formView.name),s(),w(o.formView.options)}}function li(t,n){if(t&1&&(a(0,"spk-tooltip",47)(1,"spk-icon"),c(2,"question"),r()()),t&2){let e=p(2).$implicit;m("message",e.formView.longDescription)}}function pi(t,n){if(t&1&&(a(0,"spk-option",57),c(1),r()),t&2){let e=n.$implicit;m("value",e.value),s(),Mt(" ",e.key," ",e.value?"("+e.value+")":""," ")}}function ci(t,n){if(t&1&&(a(0,"spk-select",42)(1,"label",46),c(2),F(3,li,3,1,"spk-tooltip",47),r(),_(4,"input",56),K(5,58),M(6,pi,2,3,"spk-option",57,I),z(),r()),t&2){let e,o=p().$implicit,i=p(2);m("isFreeText",!0),s(),B("for","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),s(),V(" ",(e=o.formView.shortDescription)!==null&&e!==void 0?e:o.formView.name," "),s(),g(o.formView.longDescription?3:-1),s(),B("id","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),X("formControlName",o.formView.name),s(2),w(o.formView.loadOptions(i.injector)())}}function mi(t,n){if(t&1&&(a(0,"spk-tooltip",47)(1,"spk-icon"),c(2,"question"),r()()),t&2){let e=p(2).$implicit;m("message",e.formView.longDescription)}}function _i(t,n){if(t&1&&(a(0,"spk-option",57),c(1),r()),t&2){let e=n.$implicit;m("value",e),s(),L(e)}}function ui(t,n){if(t&1&&(a(0,"div",43)(1,"label",46),c(2),F(3,mi,3,1,"spk-tooltip",47),r(),a(4,"div",59)(5,"spk-form-field"),_(6,"input",60),a(7,"spk-icon",50),c(8,"resize"),r()(),a(9,"spk-select"),_(10,"label")(11,"input",61),M(12,_i,2,2,"spk-option",57,I),r()()()),t&2){let e,o=p().$implicit,i=p(2);m("formGroupName",o.formView.name),s(),B("for","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),s(),V(" ",(e=o.formView.shortDescription)!==null&&e!==void 0?e:o.formView.name," "),s(),g(o.formView.longDescription?3:-1),s(3),B("id","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),s(6),w(i.sizeOptions())}}function di(t,n){if(t&1&&(a(0,"spk-tooltip",47)(1,"spk-icon"),c(2,"question"),r()()),t&2){let e=p(2).$implicit;m("message",e.formView.longDescription)}}function Fi(t,n){if(t&1&&(a(0,"spk-form-field")(1,"label",46),c(2),F(3,di,3,1,"spk-tooltip",47),r(),_(4,"input",62),a(5,"spk-icon",50),c(6,"numpad"),r()()),t&2){let e,o=p().$implicit;s(),B("for","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),s(),V(" ",(e=o.formView.shortDescription)!==null&&e!==void 0?e:o.formView.name," "),s(),g(o.formView.longDescription?3:-1),s(),B("id","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),X("formControlName",o.formView.name)}}function gi(t,n){if(t&1&&(a(0,"spk-tooltip",47)(1,"spk-icon"),c(2,"question"),r()()),t&2){let e=p(2).$implicit;m("message",e.formView.longDescription)}}function Ci(t,n){if(t&1&&(a(0,"spk-toggle",44)(1,"label",46),c(2),F(3,gi,3,1,"spk-tooltip",47),r(),_(4,"input",63),r()),t&2){let e,o=p().$implicit;s(),B("for","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),s(),V(" ",(e=o.formView.shortDescription)!==null&&e!==void 0?e:o.formView.name," "),s(),g(o.formView.longDescription?3:-1),s(),B("id","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),X("formControlName",o.formView.name)}}function fi(t,n){if(t&1&&(a(0,"spk-tooltip",47)(1,"spk-icon"),c(2,"question"),r()()),t&2){let e=p(2).$implicit;m("message",e.formView.longDescription)}}function Si(t,n){t&1&&(a(0,"spk-option",65),c(1,"None"),r()),t&2&&m("value","None")}function Ti(t,n){if(t&1&&(a(0,"spk-option",57),c(1),_(2,"spk-checkbox",66),r()),t&2){let e=p().$implicit;m("value",e),s(),V(" ",e," ")}}function Ei(t,n){if(t&1&&F(0,Si,2,1,"spk-option",65)(1,Ti,3,2,"spk-option",57),t&2){let e=n.$implicit;g(e==="None"?0:1)}}function Di(t,n){if(t&1&&(a(0,"spk-select",45)(1,"label",46),c(2),F(3,fi,3,1,"spk-tooltip",47),r(),_(4,"input",64),M(5,Ei,2,1,null,null,I),r()),t&2){let e,o=p().$implicit;m("selectMultiple",!0),s(),B("for","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),s(),V(" ",(e=o.formView.shortDescription)!==null&&e!==void 0?e:o.formView.name," "),s(),g(o.formView.longDescription?3:-1),s(),X("formControlName",o.formView.name),s(),w(o.formView.options)}}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;m("message",e.formView.longDescription)}}function yi(t,n){if(t&1&&(a(0,"spk-form-field")(1,"label",46),c(2),F(3,hi,3,1,"spk-tooltip",47),r(),_(4,"input",48),r()),t&2){let e,o=p().$implicit;s(),B("for","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),s(),V(" ",(e=o.formView.shortDescription)!==null&&e!==void 0?e:o.formView.name," "),s(),g(o.formView.longDescription?3:-1),s(),B("id","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),X("formControlName",o.formView.name)}}function Ni(t,n){if(t&1){let e=P();a(0,"button",67),C("click",function(){f(e);let i=p().$implicit,l=p(2);return S(l.removeFormView(i.formView,0))}),a(1,"spk-icon"),c(2,"x-circle"),r()()}}function Ai(t,n){if(t&1&&(a(0,"div",38),K(1,39),F(2,Ho,5,16,"app-file-tree",40)(3,jo,5,12,"app-file-tree",41)(4,Jo,8,13,"spk-form-field")(5,ii,8,13,"spk-form-field")(6,si,7,11,"spk-select")(7,ci,8,12,"spk-select",42)(8,ui,14,11,"div",43)(9,Fi,7,11,"spk-form-field")(10,Ci,5,11,"spk-toggle",44)(11,Di,7,8,"spk-select",45)(12,yi,5,11,"spk-form-field"),z(),F(13,Ni,3,0,"button",29),r()),t&2){let e=n.$implicit;ke("single-field",e.formGroupName!=="advanced"),s(),m("formGroupName",e.formGroupName),s(),g(e.formView.type==="FileTree"?2:e.formView.type==="FolderTree"?3:e.formView.type==="String"||e.formView.type==="Path"||e.formView.type==="Email"?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 Pi(t,n){if(t&1&&(K(0,20)(1,33),M(2,vo,1,9,"ng-container",null,I),M(4,bo,1,9,"ng-container",null,I),a(6,"app-toggle-card",34),K(7,35),T(8,8),a(9,"spk-menu")(10,"button",36),_(11,"spk-icon"),r(),K(12,18),M(13,Vo,2,1,"button",30,I),z(),r(),E(),z(),M(15,Uo,1,9,"ng-container",null,I),r(),a(17,"app-toggle-card",34),K(18,35),T(19,9),a(20,"spk-menu")(21,"button",36),_(22,"spk-icon"),r(),K(23,18),M(24,Bo,2,1,"button",30,I),z(),r(),E(),z(),M(26,zo,1,9,"ng-container",null,I),r(),F(28,Ai,14,5,"ng-template",null,1,st),z()()),t&2){let e=p();s(2),w(e.destinationFormPair().custom),s(2),w(e.destinationFormPair().dynamic),s(2),m("disallowToggle",!0),s(4),m("disabled",e.notSelectedAdvancedFormPair().length===0),s(3),w(e.notSelectedAdvancedFormPair()),s(2),w(e.selectedAdvancedFormPair()),s(2),m("disallowToggle",!0),s(4),m("disabled",e.notSelectedHttpOptions().length===0),s(3),w(e.notSelectedHttpOptions()),s(2),w(e.selectedHttpOptions())}}function Oi(t,n){if(t&1){let e=P();a(0,"spk-dialog",68),vt("isOpenChange",function(i){f(e);let l=p();return Rt(l.targetUrlDialogOpen,i)||(l.targetUrlDialogOpen=i),S(i)}),a(1,"header",69)(2,"h2"),O(3,10),r(),a(4,"spk-alert",70),O(5,11),r()(),a(6,"div",71)(7,"spk-form-field"),_(8,"textarea",72),r()(),a(9,"footer",73)(10,"button",22),C("click",function(){f(e);let i=p();return S(i.closeTargetUrlDialog(!1))}),c(11,"Cancel"),r(),a(12,"button",74),C("click",function(){f(e);let i=p();return S(i.closeTargetUrlDialog(!0))}),T(13,12),_(14,"spk-icon"),E(),r()()()}if(t&2){let e=p();wt("isOpen",e.targetUrlDialogOpen),m("options",Gt(3,Ao)),s(8),m("formControl",e.targetUrlCtrl)}}var ki=["Bytes","KB","MB","GB","TB","PB"],Et=new oe,Jt=(t={destinations:[]})=>Et.group({destinations:Et.array(t.destinations)}),en=({key:t,customGroup:n,dynamicGroup:e,advancedGroup:o})=>Et.group({destinationType:Et.control(t),custom:n,dynamic:e,advanced:o}),xt=class t{#e=x(ie);#t=x(Te);#o=x(Vt);#i=x(We);#n=x(me);#r=x(Kt);injector=x(It);formRef=ge.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=U(()=>this.destinationFormSignal()?.destinations?.length??0);sizeOptions=A(ki);successfulTest=A(!1);destinationTypeOptionsInFocus=A(["file","ssh","s3","gcs","googledrive","azure"]);destinationTypeOptions=A(Object.entries(Oe).map(([n,{displayName:e,description:o}])=>({key:n,displayName:e,description:o})));destinationTypeOptionsFocused=U(()=>{let n=this.destinationTypeOptionsInFocus(),e=this.destinationTypeOptions();return n.map(o=>e.find(i=>i.key===o))});destinationTypeOptionsNotFocused=U(()=>{let n=this.destinationTypeOptionsInFocus();return this.destinationTypeOptions().filter(o=>!n.includes(o.key))});getFormFieldValue(n,e,o){return((this.destinationForm.controls.destinations.controls?.[n]).controls?.[e]).controls[o].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=U(()=>this.#n.getCurrentTargetUrl()[0]);targetUrlCtrl=new mt;targetUrlInitial=A(null);targetUrlDialogOpen=A(!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,o=this.targetUrlInitial();!n||e===o||this.#n.updateFieldsFromTargetUrl(this.targetUrlCtrl.value)}testDestination(n=0){let o=this.#n.getCurrentTargetUrl()[n];o&&this.#i.postApiV1RemoteoperationTest({requestBody:{path:o}}).subscribe({next:()=>{this.successfulTest.set(!0),setTimeout(()=>{this.successfulTest.set(!1)},3e3)},error:i=>{let l=i.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:d=>{d&&this.#i.postApiV1RemoteoperationCreate({requestBody:{path:o}}).subscribe()}}),l.startsWith("incorrect-cert:")){let d=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: ${d}`,confirmText:"Trust the certificate",cancelText:"Cancel"},closed:N=>{N&&this.#n.addHttpOptionByName("accept-specified-ssl-hash",d)}})}if(l.startsWith("incorrect-host-key:")){let d=l.split('incorrect-host-key:"')[1].split('",')[0],N=l.split('accepted-host-key:"')[1].split('",')[0];N?this.#r.open(Ke,{maxWidth:"500px",data:{title:$localize`The host key has changed`,message:$localize`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 ${N}
|
|
6
|
+
with the REPORTED host key: ${d}?`,confirmText:$localize`Approve`,cancelText:$localize`Cancel`},closed:$=>{$&&this.#n.addAdvancedFormPairByName("ssh-fingerprint",n,d)}}):this.#r.open(Ke,{maxWidth:"500px",data:{title:$localize`Approve host key?`,message:$localize`No certificate was specified, please verify that the reported host key is correct: ${d}`,confirmText:"Approve",cancelText:"Cancel"},closed:$=>{$&&this.#n.addAdvancedFormPairByName("ssh-fingerprint",n,d)}})}}})}mapToTargetUrl(n){return ft(n.value)}removeDestinationFormGroup(n){this.destinationForm.controls.destinations.removeAt(n)}displayFn(n){let e=this.destinationOptions().find(o=>o.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=A("https://duplicati-oauth-handler.appspot.com/").asReadonly();#l=A(Math.random().toString(36).substring(2)+Math.random().toString(36).substring(2)).asReadonly();#a=A(!1);#p=A(null);keyCreation(){}oauthStartTokenCreation(n){this.#a.set(!0);let e=450,o=600,i=this.#s()+"?type="+n+"&token="+this.#l(),l=screen.width/2-e/2,d=screen.height/2-o/2,N=window.open(i,"_blank","height="+o+",width="+e+",menubar=0,status=0,titlebar=0,toolbar=0,left="+l+",top="+d);N?.addEventListener("blur",$=>{console.log("event blur",$)}),N?.addEventListener("beforeunload",$=>{console.log("event beforeunload",$),this.#o.get(this.#s()+"fetch?callback=JSON_CALLBACK",{params:{token:this.#l()}}).pipe(Je(()=>this.#a.set(!1))).subscribe({next:y=>{console.log("res",y),y?.authid&&this.#p.set(y.authid)}})})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=ne({type:t,selectors:[["app-destination"]],viewQuery:function(e,o){e&1&&Ce(o.formRef,Eo,5),e&2&&fe()},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=xe(n);let e;e=$localize`${"\uFFFD#20\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#20\uFFFD"}:CLOSE_TAG_SPK_ICON: Go back `;let o;o=$localize`${"\uFFFD#23\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#23\uFFFD"}:CLOSE_TAG_SPK_ICON: Continue `;let i;i=$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 d;d=$localize`Other destinations`;let N;N=$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:`,N=xe(N);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:`,$=xe($);let y;y=$localize`Edit target URL`;let Z;Z=$localize` Be careful, this will overwrite everything you have in your destination. `;let J;return J=$localize` Override target URL ${"\uFFFD#14\uFFFD"}:START_TAG_SPK_ICON:swap${"\uFFFD/#14\uFFFD"}:CLOSE_TAG_SPK_ICON:`,[["formRef",""],["fieldTemplate",""],n,e,o,i,l,d,N,$,y,Z,J,[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"],[3,"type","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,o){if(e&1){let i=P();a(0,"form",13,0),C("submit",function(){return f(i),S(o.next())}),a(2,"header")(3,"h3",14),T(4,2),a(5,"div",15),F(6,ko,4,3,"button",16),a(7,"spk-menu")(8,"button",17),_(9,"spk-icon"),r(),K(10,18),a(11,"button",19),C("click",function(){return f(i),S(o.openTargetUrlDialog())}),_(12,"spk-icon"),r(),z(),r()(),E(),r(),F(13,xo,3,0,"p")(14,$o,2,0,"p"),r(),F(15,wo,9,0)(16,Pi,30,4,"ng-container",20),a(17,"div",21)(18,"button",22),C("click",function(){return f(i),S(o.goBack())}),T(19,3),_(20,"spk-icon"),E(),r(),a(21,"button",23),T(22,4),_(23,"spk-icon"),E(),r()()(),F(24,Oi,15,4,"spk-dialog",24)}if(e&2){let i;m("formGroup",o.destinationForm),s(6),g(o.destinationCount()>0?6:-1),s(7),g(o.destinationCount()>0?13:14),s(2),g(o.destinationCount()===0?15:-1),s(),g(!((i=o.destinationFormSignal())==null||i.destinations==null)&&i.destinations.length?16:-1),s(8),g(o.targetUrlDialogOpen()?24:-1)}},dependencies:[Ae,he,re,Re,we,ae,De,_t,ye,Ne,ve,Ut,pt,le,ce,gt,Ft,pe,se,be,je,Bt,dt,Ve,qe],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,xt as c,Wt as d,At as e,Nt as f,jt as g,Dr as h,Pt as i,Qt as j,Ot as k,Zt as l,kt as m,me as n};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-C6Q5SG76.js";var o=[{path:"",redirectTo:"general",pathMatch:"full"},{path:"general",loadComponent:()=>import("./chunk-LVPMH5RR.js")},{path:"destination",loadComponent:()=>import("./chunk-5OHRSCEC.js")},{path:"source-data",loadComponent:()=>import("./chunk-MQK3LTIE.js")},{path:"schedule",loadComponent:()=>import("./chunk-7FKHU74A.js")},{path:"options",loadComponent:()=>import("./chunk-DUCYT6JV.js")}];export{o 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-HHDIDPSW.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-HCLD4U7B.js"),loadChildren:()=>import("./chunk-TQVKGGE4.js")},{path:"backup/:id",loadComponent:()=>import("./chunk-HCLD4U7B.js"),loadChildren:()=>import("./chunk-TQVKGGE4.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-45JBSR2F.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
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};
|
package/chunk-RIZNMDZX.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
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};
|