@duplicati/ngclient 0.0.102 → 0.0.103
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-2EOGI5U4.js +8 -0
- package/{chunk-RO3W2TTH.js → chunk-56BIOJTU.js} +1 -1
- package/{chunk-66XKA75B.js → chunk-5BO226DZ.js} +1 -1
- package/{chunk-ZLTJTLNJ.js → chunk-ADU47UB6.js} +1 -1
- package/{chunk-4IMMYDEZ.js → chunk-DHVICIXP.js} +1 -1
- package/chunk-IPNKLO2C.js +1 -0
- package/{chunk-AX2OTUX5.js → chunk-K7E5BKU4.js} +1 -1
- package/chunk-KXHE37LY.js +1 -0
- package/{chunk-4YHLU5WJ.js → chunk-MYXDJGSR.js} +1 -1
- package/{chunk-4HAKE425.js → chunk-ORNS7N6Q.js} +1 -1
- package/chunk-POO6N4RH.js +1 -0
- package/chunk-S6C4DHJH.js +3 -0
- package/{chunk-Q4OHMO5N.js → chunk-TFIF6FCF.js} +1 -1
- package/chunk-UO57IKTF.js +1 -0
- package/{chunk-GGDMQHEQ.js → chunk-VJPUDP2T.js} +1 -1
- package/{chunk-D36FLK4W.js → chunk-WX5636KE.js} +1 -1
- package/index.html +2 -2
- package/{main-SGSJMHZH.js → main-DQ77DZR6.js} +1 -1
- package/package.json +1 -1
- package/{styles-7QQPZCZ2.css → styles-CAXGLRRN.css} +1 -1
- package/chunk-56OFRQFF.js +0 -1
- package/chunk-CEHXBQ6Q.js +0 -3
- package/chunk-CVF2Q2H6.js +0 -8
- package/chunk-DNHLTHLR.js +0 -1
- package/chunk-FUAUSLOF.js +0 -1
- package/chunk-NTGNZYL7.js +0 -1
package/assets/spk.woff2
CHANGED
|
Binary file
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import{a as zt,b as jt}from"./chunk-Y5T3G6PP.js";import{a as mt}from"./chunk-4B4SNBSE.js";import{a as je}from"./chunk-YRQ33MKD.js";import{a as Xt,b as Nt,c as Ht}from"./chunk-UO57IKTF.js";import{a as z}from"./chunk-NYZVIDDD.js";import{a as lt}from"./chunk-OELZQ6RK.js";import{a as Ne}from"./chunk-ARQ6YMHX.js";import{b as Le,c as de,d as _e,e as Fe,f as Ue,g as pt,h as Ve,i as Be,j as Ke,m as ct,n as We,o as ut,p as Wt,q as Xe,r as ge,s as He,t as ze}from"./chunk-QTTYDT3P.js";import{b as Ee,d as pe}from"./chunk-7WCKE7GY.js";import{A as st,a as ce,b as rt,d as Vt,e as Bt,g as be,l as ue,o as Kt,p as at,t as me,z as Ge}from"./chunk-6WLXFV43.js";import{b as ve}from"./chunk-DYCJPQSE.js";import{c as Ut}from"./chunk-TKVTCBLW.js";import{i as Lt}from"./chunk-2IDHF5MN.js";import{$b as j,Ab as b,E as Ye,Eb as E,Fb as y,Gb as R,Hb as Dt,Ib as Et,Jb as Ae,Kb as P,Lb as c,Oa as l,Ob as le,Qb as bt,R as $e,Rb as W,Va as we,Wb as Re,X as $,Xb as Ie,Yb as ie,Zb as d,_a as se,_b as xe,ac as Gt,ca as F,cc as V,da as g,db as C,dc as B,ec as K,fc as yt,gc as Pt,ha as xt,hc as At,jc as Ze,kb as vt,kc as et,lb as u,mc as tt,nb as Pe,oa as ft,pa as Tt,qb as T,qc as nt,r as Qe,rb as Z,sa as D,sb as ee,tb as te,ub as s,vb as a,wb as m,xb as X,yb as H,yc as v,zb as Je,zc as it}from"./chunk-GM25ACCR.js";import{a as S,b as De,c as It}from"./chunk-7CGTOI24.js";var dt=class e{fromString(n){if(!n)return null;let t=n.match(/(\d+)([smhDWMY])/);return t&&{value:parseInt(t[1]),unit:t[2]}}toString(n,t){return`${n}${t}`}static \u0275fac=function(t){return new(t||e)};static \u0275prov=$e({token:e,factory:e.\u0275fac,providedIn:"root"})};var Ce=class e{#n=$(ve);s3Providers=z(this.getS3Config("Providers"));s3Regions=z(this.getS3Config("Regions"));s3RegionHosts=z(this.getS3Config("RegionHosts"));s3StorageClasses=z(this.getS3Config("StorageClasses"));storjSatellites=z(this.getStorjConfig("Satellites"));storjAuthenticationMethods=z(this.getStorjConfig("AuthenticationMethods"));openstackProviders=z(this.getOpenstackConfig("Providers"));openstackVersions=z(this.getOpenstackConfig("Versions"));gcsLocations=z(this.getGcsConfig("Locations"));gcsStorageClasses=z(this.getGcsConfig("StorageClasses"));getS3Config(n){return this.#n.postApiV1WebmoduleByModulekey({modulekey:"s3-getconfig",requestBody:{"s3-config":n}}).pipe(Qe(t=>this.#t(t)))}createS3IamUser(n,t){return this.#n.postApiV1WebmoduleByModulekey({modulekey:"s3-iamconfig",requestBody:{"s3-operation":"CanCreateUser","s3-username":n,"s3-password":t}})}createS3PolicyIAM(n){return this.#n.postApiV1WebmoduleByModulekey({modulekey:"s3-iamconfig",requestBody:{"s3-operation":"GetPolicyDoc",path:n}})}getStorjConfig(n){return this.#n.postApiV1WebmoduleByModulekey({modulekey:"storj-getconfig",requestBody:{"storj-config":n}}).pipe(Qe(t=>this.#t(t)))}getOpenstackConfig(n){return this.#n.postApiV1WebmoduleByModulekey({modulekey:"openstack-getconfig",requestBody:{"openstack-config":n}}).pipe(Qe(t=>this.#t(t)))}getGcsConfig(n){return this.#n.postApiV1WebmoduleByModulekey({modulekey:"gcs-getconfig",requestBody:{"gcs-config":n}}).pipe(Qe(t=>this.#t(t)))}#t(n){return(n.Result&&typeof n.Result=="object"&&Object.entries(n.Result).map(([t,o])=>({key:t,value:o})))??[]}static \u0275fac=function(t){return new(t||e)};static \u0275prov=$e({token:e,factory:e.\u0275fac,providedIn:"root"})};function ye(e){return e==null?"":":"+e.toString()}function Y(e){return e==null?"":e.startsWith("/")?e:"/"+e}function O(e,n){let t={},o={},i=Se.find(r=>r.key===e);return n.searchParams.forEach((r,p)=>{i?.dynamicFields?.some(N=>N===p||N?.name===p)?o[p]=decodeURIComponent(r):t[p]=decodeURIComponent(r)}),{advanced:t,dynamic:o}}function M(e,n=!1){let t=e.map(([i,r])=>`${i}=${r?encodeURIComponent(r.toString()):""}`).join("&");return t?(n?"":"?")+t:""}function _t(e){let n=e.destinationType,t=Se.find(o=>o.customKey===n||o.key===n);if(!t)throw new Error("Invalid destination type");return t?.mapper.to(e)??""}function kt(e){let n=URL.canParse(e),t=e.split("://")[0],o=e.split("://")[1],i="http://"+o;if(o.startsWith("%")&&t==="file")return Se.find(r=>r.customKey===t||r.key===t)?.mapper.from(t,new URL("http://localhost"),e);try{let r=new URL(i);return Se.find(p=>p.customKey===t||p.key===t)?.mapper.from(t,r,e)}catch(r){console.error("Error while parsing target path",r)}if(!n)throw new Error("Invalid target path");return null}var _=new ge,Se=[{key:"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:e=>_.control(e??"")}},mapper:{to:e=>{let n=M([...Object.entries(e.advanced),...Object.entries(e.dynamic)]);return`${e.destinationType}://${e.custom.path}${n}`},from:(e,n,t)=>{let i=t.startsWith("file:///")?t.split("file:///")[1]:t.split("file://")[1],r=i.startsWith("%"),h=i.slice(1).startsWith(":\\")||r?i:"/"+i;return S({destinationType:e,custom:{path:h}},O(e,n))}}},{key:"ssh",displayName:"SSH",description:"Store backups in SSH.",customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"The server to connect to",formElement:e=>_.control(e??"")},port:{type:"Integer",name:"port",shortDescription:"Port",longDescription:"The port to connect to",formElement:e=>_.control(e??"",[_e.required,_e.max(65535)])},path:{type:"Path",name:"path",shortDescription:"Folder path",longDescription:"Folder path",formElement:e=>_.control(e??"")}},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:e=>{let n=M([...Object.entries(e.advanced),...Object.entries(e.dynamic)]),{port:t,server:o,path:i}=e.custom;return`${e.destinationType}://${o+ye(t)+Y(i)+n}`},from:(e,n,t)=>S({destinationType:e,custom:{server:n.hostname,port:n.port,path:n.pathname}},O(e,n))}},{key:"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:e=>_.control(e??"")},path:{type:"Path",name:"path",shortDescription:"Folder path",longDescription:"Folder path",formElement:e=>_.control(e??"")}},dynamicFields:[{name:"s3-server-name",shortDescription:"Server",type:"NonValidatedSelectableString",loadOptions:e=>e.get(Ce).s3Providers},"use-ssl","auth-username","auth-password"],advancedFields:[{name:"s3-client",type:"Enumeration",options:["aws","minio"]},{name:"s3-storage-class",type:"NonValidatedSelectableString",loadOptions:e=>e.get(Ce).s3StorageClasses}],mapper:{to:e=>{let{bucket:n,path:t}=e.custom,o=M([...Object.entries(e.advanced),...Object.entries(e.dynamic)]);return`${e.destinationType}://${n+Y(t)+o}`},from:(e,n,t)=>S({destinationType:e,custom:{path:n.pathname,bucket:n.hostname}},O(e,n))}},{key:"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:e=>_.control(e??"")}},dynamicFields:[{name:"gcs-location",type:"NonValidatedSelectableString",loadOptions:e=>e.get(Ce).gcsLocations},{name:"gcs-storage-class",type:"NonValidatedSelectableString",loadOptions:e=>e.get(Ce).gcsStorageClasses},"authid"],mapper:{to:e=>{let n=M([...Object.entries(e.advanced),...Object.entries(e.dynamic)]);return`${e.destinationType}://${e.custom.path}${n}`},from:(e,n,t)=>S({destinationType:e,custom:{path:n.hostname+n.pathname}},O(e,n))}},{key:"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:e=>_.control(e??"")}},dynamicFields:["authid"],mapper:{to:e=>{let n=e.custom.path,t=M([...Object.entries(e.advanced),...Object.entries(e.dynamic)]);return`${e.destinationType}://${n}${t}`},from:(e,n,t)=>S({destinationType:e,custom:{path:n.hostname+n.pathname}},O(e,n))}},{key:"pcloud",displayName:"pCloud",description:"Store backups in pCloud.",oauthField:"authid",customFields:{server:{type:"Enumeration",name:"server",loadOptions:()=>D([{key:"pCloud Global",value:"api.pcloud.com"},{key:"pCloud Europe",value:"eapi.pcloud.com"}]),shortDescription:"Server",longDescription:"Server",formElement:e=>_.control(e??"")},path:{type:"Path",name:"path",shortDescription:"Folder path",longDescription:"Folder path",formElement:e=>_.control(e??"")}},dynamicFields:["authid"],mapper:{to:e=>{let n=M([...Object.entries(e.advanced),...Object.entries(e.dynamic)]),{server:t,path:o}=e.custom;return`${e.destinationType}://${t+Y(o)+n}`},from:(e,n,t)=>{let o=n.pathname.replace(/^\//,"");return S({destinationType:e,custom:{server:n.hostname,path:o}},O(e,n))}}},{key:"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:e=>_.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:"Account name"},{name:"auth-password",shortDescription:"Access key"}],mapper:{to:e=>{let n=e.custom.path,t=M([...Object.entries(e.advanced),...Object.entries(e.dynamic)]);return`${e.destinationType}://${n}${t}`},from:(e,n,t)=>S({destinationType:e,custom:{path:n.hostname+n.pathname}},O(e,n))}},{key:"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:e=>_.control(e??"")}},dynamicFields:["authid"],mapper:{to:e=>{let n=e.custom.path,t=M([...Object.entries(e.advanced),...Object.entries(e.dynamic)]);return`${e.destinationType}://${n}${t}`},from:(e,n,t)=>S({destinationType:e,custom:{path:n.hostname+n.pathname}},O(e,n))}},{key:"od4b",displayName:"OneDrive Business",description:"Store backups in OneDrive Business.",customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"Server",formElement:e=>_.control(e??"")},port:{type:"Integer",name:"port",shortDescription:"Port",longDescription:"Port",formElement:e=>_.control(e??"")},path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:e=>_.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:"Account name"},{name:"auth-password",shortDescription:"Access key"}],mapper:{to:e=>{let n=M([...Object.entries(e.advanced),...Object.entries(e.dynamic)]),{port:t,server:o,path:i}=e.custom;return`${e.destinationType}://${o+ye(t)+Y(i)+n}`},from:(e,n,t)=>S({destinationType:e,custom:{server:n.hostname,port:n.port,path:n.pathname}},O(e,n))}},{key:"mssp",displayName:"Microsoft SharePoint",description:"Store backups in Microsoft SharePoint.",customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"Server",formElement:e=>_.control(e??"")},port:{type:"Integer",name:"port",shortDescription:"Port",longDescription:"Port",formElement:e=>_.control(e??"")},path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:e=>_.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:"Account name"},{name:"auth-password",shortDescription:"Access key"}],mapper:{to:e=>{let n=M([...Object.entries(e.advanced),...Object.entries(e.dynamic)]),{port:t,server:o,path:i}=e.custom;return`${e.destinationType}://${o+ye(t)+Y(i)+n}`},from:(e,n,t)=>S({destinationType:e,custom:{server:n.hostname,port:n.port,path:n.pathname}},O(e,n))}},{key:"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:e=>_.control(e??"")}},dynamicFields:["authid"],mapper:{to:e=>{let n=e.custom.path,t=M([...Object.entries(e.advanced),...Object.entries(e.dynamic)]);return`${e.destinationType}://${n}${t}`},from:(e,n,t)=>S({destinationType:e,custom:{path:n.hostname+n.pathname}},O(e,n))}},{key:"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:e=>_.control(e??"")}},dynamicFields:["authid"],mapper:{to:e=>{let n=e.custom.path,t=M([...Object.entries(e.advanced),...Object.entries(e.dynamic)]);return`${e.destinationType}://${n}${t}`},from:(e,n,t)=>S({destinationType:e,custom:{path:n.hostname+n.pathname}},O(e,n))}},{key:"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:e=>_.control(e??"")}},dynamicFields:["authid"],mapper:{to:e=>{let n=e.custom.path,t=M([...Object.entries(e.advanced),...Object.entries(e.dynamic)]);return`${e.destinationType}://${n}${t}`},from:(e,n,t)=>S({destinationType:e,custom:{path:n.hostname+n.pathname}},O(e,n))}},{key:"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:e=>_.control(e??"")}},dynamicFields:["authid"],mapper:{to:e=>{let n=e.custom.path,t=M([...Object.entries(e.advanced),...Object.entries(e.dynamic)]);return`${e.destinationType}://${n}${t}`},from:(e,n,t)=>S({destinationType:e,custom:{path:n.hostname+n.pathname}},O(e,n))}},{key:"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:e=>_.control(e??"")},path:{type:"String",name:"path",shortDescription:"Path in the bucket",longDescription:"Path in the bucket",formElement:e=>_.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:"Application ID"},{name:"auth-password",shortDescription:"Application Key"}],mapper:{to:e=>{let{bucket:n,path:t}=e.custom,o=M([...Object.entries(e.advanced),...Object.entries(e.dynamic)]);return`${e.destinationType}://${n+Y(t)+o}`},from:(e,n,t)=>S({destinationType:e,custom:{bucket:n.hostname,path:decodeURIComponent(n.pathname)}},O(e,n))}},{key:"e2",displayName:"IDrive e2",description:"Store backups in IDrive e2.",customFields:{bucket:{type:"String",name:"bucket",shortDescription:"Bucket name",longDescription:"Bucket name",formElement:e=>_.control(e??"")},path:{type:"String",name:"path",shortDescription:"Path in the bucket",longDescription:"Path in the bucket",formElement:e=>_.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:"Access ID"},{name:"auth-password",shortDescription:"Access Secret"}],mapper:{to:e=>{let{bucket:n,path:t}=e.custom,o=M([...Object.entries(e.advanced),...Object.entries(e.dynamic)]);return`${e.destinationType}://${n+Y(t)+o}`},from:(e,n,t)=>S({destinationType:e,custom:{bucket:n.hostname,path:n.pathname}},O(e,n))}},{key:"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:e=>_.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:"Username"},{name:"auth-password",shortDescription:"Password"}],mapper:{to:e=>{let n=e.custom.path,t=M([...Object.entries(e.advanced),...Object.entries(e.dynamic)]);return`${e.destinationType}://${n}${t}`},from:(e,n,t)=>S({destinationType:e,custom:{path:n.hostname+n.pathname}},O(e,n))}},{key:"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:e=>_.control(e??"",[_e.email])},path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:e=>_.control(e??"")}},dynamicFields:["authid"],mapper:{to:e=>{let n=e.custom.path,t=M([...Object.entries(e.advanced),...Object.entries(e.dynamic)]);return`${e.destinationType}://${n}${t}`},from:(e,n,t)=>S({destinationType:e,custom:{path:n.hostname+n.pathname}},O(e,n))}},{key:"cloudfiles",displayName:"Rackspace CloudFiles",description:"Store backups in Rackspace CloudFiles.",customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"Server",formElement:e=>_.control(e??"")},port:{type:"Integer",name:"port",shortDescription:"Port",longDescription:"Port",formElement:e=>_.control(e??"")},path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:e=>_.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:"Username"},{name:"auth-password",shortDescription:"Password"}],mapper:{to:e=>{let n=M([...Object.entries(e.advanced),...Object.entries(e.dynamic)]),{port:t,server:o,path:i}=e.custom;return`${e.destinationType}://${o+ye(t)+Y(i)+n}`},from:(e,n,t)=>S({destinationType:e,custom:{server:n.hostname,port:n.port,path:n.pathname}},O(e,n))}},{key:"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:e=>{let n=e.dynamic["rclone-remote-repository"],t=e.dynamic["rclone-remote-path"],o=Object.entries(e.dynamic).filter(([r])=>!["rclone-remote-repository","rclone-remote-path"].includes(r)),i=M([...Object.entries(e.advanced),...o]);return`${e.destinationType}://${n}/${t+i}`},from:(e,n,t)=>{let{advanced:o,dynamic:i}=O(e,n);return S({destinationType:e,dynamic:S({"rclone-remote-repository":n.hostname,"rclone-remote-path":n.pathname},i)},o)}}},{key:"openstack",displayName:"OpenStack Object Storage",description:"Store backups in OpenStack Object Storage.",customFields:{bucket:{type:"String",name:"bucket",shortDescription:"Bucket",longDescription:"Bucket",formElement:e=>_.control(e??"")}},dynamicFields:[{name:"openstack-authuri",shortDescription:"Auth URI",type:"Enumeration",loadOptions:e=>e.get(Ce).openstackProviders},{name:"openstack-version",shortDescription:"Version",type:"Enumeration",loadOptions:e=>e.get(Ce).openstackVersions},{name:"openstack-domain-name",shortDescription:"Domain name"},{name:"openstack-tenant-name",shortDescription:"Tenant name"},{name:"openstack-region",shortDescription:"Region"}],mapper:{to:e=>{let n=M([...Object.entries(e.advanced),...Object.entries(e.dynamic)]),{bucket:t}=e.custom;return`${e.destinationType}://${t+n}`},from:(e,n,t)=>S({destinationType:e,custom:{path:n.pathname,bucket:n.hostname}},O(e,n))}},{key:"webdav",displayName:"WebDAV",description:"Store backups in WebDAV.",customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"Server",formElement:e=>_.control(e??"")},port:{type:"Integer",name:"port",shortDescription:"Port",longDescription:"Port",formElement:e=>_.control(e??"")},path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:e=>_.control(e??"")}},dynamicFields:[{name:"use-ssl",shortDescription:"Use SSL"},{name:"auth-username",shortDescription:"Username"},{name:"auth-password",shortDescription:"Password"}],mapper:{to:e=>{let{port:n,server:t,path:o}=e.custom,i=e.dynamic["use-ssl"],r=M([...Object.entries(e.advanced),...Object.entries(e.dynamic).filter(([p])=>p!=="use-ssl")]);return`${e.destinationType}${i?"s":""}://${t+ye(n)+Y(o)+r}`},from:(e,n,t)=>S({destinationType:e,custom:{server:n.hostname,port:n.port,path:n.pathname}},O(e,n))}},{key:"aftp",displayName:"FTP",description:"Store backups in FTP.",customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"Server",formElement:e=>_.control(e??"")},port:{type:"Integer",name:"port",shortDescription:"Port",longDescription:"Port",formElement:e=>_.control(e??"")},path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:e=>_.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:"Username"},{name:"auth-password",shortDescription:"Password"}],mapper:{to:e=>{let{port:n,server:t,path:o}=e.custom,i=M([...Object.entries(e.advanced),...Object.entries(e.dynamic).filter(([r])=>r!=="use-ssl")]);return`${e.destinationType}://${t+ye(n)+Y(o)+i}`},from:(e,n,t)=>S({destinationType:e,custom:{server:n.hostname,port:n.port,path:n.pathname}},O(e,n))}},{key:"sia",displayName:"Sia Decentrilized Cloud",description:"Store backups in Sia Decentrilized Cloud.",customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"Server",formElement:e=>_.control(e??"")}},dynamicFields:["sia-targetpath","sia-password","sia-redundancy"],mapper:{to:e=>{let n=e.custom.server,t=e.dynamic["sia-targetpath"],o=M([...Object.entries(e.advanced),...Object.entries(e.dynamic).filter(([i])=>i!=="sia-targetpath")]);return`${e.destinationType}://${n+Y(t)+o}`},from:(e,n,t)=>S({destinationType:e,custom:{path:n.pathname}},O(e,n))}},{key:"cos",displayName:"Tencent COS",description:"Store backups in Tencent COS.",customFields:{path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:e=>_.control(e??"")}},dynamicFields:[{name:"cos-bucket",shortDescription:"Bucket",order:1},{name:"cos-region",shortDescription:"Region",order:2},{name:"cos-app-id",shortDescription:"COS App Id",order:3},{name:"cos-secret-id",shortDescription:"COS Secret Id",order:4},{name:"cos-secret-key",shortDescription:"COS Secret Key",order:5}],mapper:{to:e=>{let n=e.custom.path,t=M([...Object.entries(e.advanced),...Object.entries(e.dynamic).filter(([o])=>o!=="cos-targetpath")]);return`${e.destinationType}://${n+t}`},from:(e,n,t)=>S({destinationType:e,custom:{path:n.pathname}},O(e,n))}},{key:"tahoe",displayName:"Tahoe LAFS",description:"Store backups in Tahoe LAFS.",customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"Server",formElement:e=>_.control(e??"")},port:{type:"Integer",name:"port",shortDescription:"Port",longDescription:"Port",formElement:e=>_.control(e??"")},path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:e=>_.control(e??"")},username:{type:"String",name:"username",shortDescription:"Username",longDescription:"Username",formElement:e=>_.control(e??"")},password:{type:"Password",name:"password",shortDescription:"Password",longDescription:"Password",formElement:e=>_.control(e??"")}},dynamicFields:[{name:"use-ssl",shortDescription:"Use SSL"}],mapper:{to:e=>{let{port:n,server:t,path:o,username:i,password:r}=e.custom,p={"auth-username":i,"auth-password":r},h=e.dynamic["use-ssl"],N=M([...Object.entries(e.advanced),...Object.entries(e.dynamic).filter(([w])=>w!=="use-ssl"),...Object.entries(p)]);return`${e.destinationType}${h?"s":""}://${t+ye(n)+Y(o)+N}`},from:(e,n,t)=>S({destinationType:e,custom:{server:n.hostname,port:n.port,path:n.pathname}},O(e,n))}},{key:"cifs",displayName:"CIFS",description:"Store backups in CIFS.",customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"Server",formElement:e=>_.control(e??"")},share:{type:"String",name:"share",shortDescription:"Share Name",longDescription:"Share Name",formElement:e=>_.control(e??"")},path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:e=>_.control(e??"")}},dynamicFields:["transport","auth-username","auth-password","auth-domain"],mapper:{to:e=>{let{share:n,server:t,path:o,username:i,password:r}=e.custom,p={"auth-username":i,"auth-password":r},h=new Map([...Object.entries(p),...Object.entries(e.advanced),...Object.entries(e.dynamic)]),N=M(Array.from(h));return`${e.destinationType}://${t+Y(n)+Y(o)+N}`},from:(e,n,t)=>{let o=n.pathname.split("/")[1],i=n.pathname.split("/").slice(2).join("/");return S({destinationType:e,custom:{server:n.hostname,share:o,path:i}},O(e,n))}}},{key:"filen",displayName:"Filen.io",description:"Store backups in Filen.io.",customFields:{path:{type:"String",name:"path",shortDescription:"Path on Filen",longDescription:"Path on Filen",formElement:e=>_.control(e??"")}},dynamicFields:["auth-username","auth-password"],mapper:{to:e=>{let{path:n,username:t,password:o}=e.custom,i={"auth-username":t,"auth-password":o},r=new Map([...Object.entries(i),...Object.entries(e.advanced),...Object.entries(e.dynamic)]),p=M(Array.from(r));return`${e.destinationType}://${n+p}`},from:(e,n,t)=>{let o=n.hostname??"";return n.pathname&&o!==""&&n.pathname[0]!="/"&&(o+="/"),o+=n.pathname,S({destinationType:e,custom:{path:o}},O(e,n))}}},{key:"filejump",displayName:"Filejump",description:"Store backups in Filejump.",customFields:{path:{type:"String",name:"path",shortDescription:"Path on Filejump",longDescription:"Path on Filejump",formElement:e=>_.control(e??"")}},dynamicFields:[{type:"Password",name:"api-token",shortDescription:"API Token",longDescription:"Filejump API Token",formElement:e=>_.control(e??"")}],mapper:{to:e=>{let{path:n,username:t,password:o,apitoken:i}=e.custom,r=(i||"").trim()===""?{"auth-username":t,"auth-password":o}:{"api-token":i},p=new Map([...Object.entries(r),...Object.entries(e.advanced),...Object.entries(e.dynamic)]),h=M(Array.from(p));return`${e.destinationType}://${n+h}`},from:(e,n,t)=>{let o=n.hostname??"";return n.pathname&&o!==""&&n.pathname[0]!="/"&&(o+="/"),o+=n.pathname,S({destinationType:e,custom:{path:o}},O(e,n))}}},{key:"storj",customKey:"storjAccessGrant",displayName:"Storj Access Grant",description:"Store backups in Storj Access Grant.",dynamicFields:[{name:"storj-shared-access",shortDescription:"Access Grant"},{name:"storj-bucket",shortDescription:"Bucket"},{name:"storj-folder",shortDescription:"Path on server"}],mapper:{to:e=>`storj://storj.io/config?storj-auth-method=Access%20grant&storj-satellite=us1.storj.io%3A7777&storj-api-key&storj-secret&${M([...Object.entries(e.advanced),...Object.entries(e.dynamic)],!0)}`,from:(e,n,t)=>S({destinationType:e},O(e,n))}},{key:"storj",customKey:"storjApiKey",displayName:"Storj API Key",description:"Store backups in Storj API Key.",dynamicFields:[{name:"storj-satellite",shortDescription:"Satellite",type:"Enumeration",loadOptions:e=>e.get(Ce).storjSatellites},{name:"storj-api-key",shortDescription:"API Key"},{name:"storj-secret",shortDescription:"Secret"},{name:"storj-bucket",shortDescription:"Bucket"},{name:"storj-folder",shortDescription:"Path on server"}],mapper:{to:e=>`storj://storj.io/config?storj-auth-method=API%20key&${M([...Object.entries(e.advanced),...Object.entries(e.dynamic)],!0)}`,from:(e,n,t)=>S({destinationType:e},O(e,n))}}];var tn=["formRef"];function nn(e,n){e&1&&(s(0,"spk-alert",17),E(1,5),m(2,"spk-icon",26),y(),a())}function on(e,n){if(e&1&&d(0),e&2){let t=n.$implicit;j(" ",t.DisplayName," ")}}function rn(e,n){if(e&1&&m(0,"spk-progress-bar",40),e&2){let t=c(3);Pe("error",t.calculatePasswordStrength()===1)("warn",t.calculatePasswordStrength()===2)("primary",t.calculatePasswordStrength()===4)("success",t.calculatePasswordStrength()===5),u("value",t.calculatePasswordStrength()*(100/5))}}function an(e,n){e&1&&(s(0,"span",35),R(1,10),a())}function sn(e,n){e&1&&(E(0,8,1),m(1,"spk-icon"),y())}function ln(e,n){e&1&&(E(0,8,2),m(1,"spk-icon"),y())}function pn(e,n){e&1&&(E(0,11,1),m(1,"spk-icon",42),y())}function cn(e,n){e&1&&(E(0,11,2),m(1,"spk-icon"),y())}function un(e,n){if(e&1){let t=b();s(0,"button",41),P("click",function(){F(t);let i=c(3);return g(i.copyPassword())}),E(1,11),C(2,pn,2,0)(3,cn,2,0),y(),a()}if(e&2){let t=c(3);l(2),T(t.copiedPassword()?2:3)}}function mn(e,n){e&1&&(s(0,"spk-alert",39),R(1,12),a())}function dn(e,n){if(e&1){let t=b();s(0,"div",30)(1,"spk-form-field")(2,"label",31),E(3,7),m(4,"sup"),y(),a(),m(5,"input",32),a(),C(6,rn,1,9,"spk-progress-bar",33),s(7,"spk-form-field"),m(8,"input",34),C(9,an,2,0,"span",35),a(),s(10,"div",36)(11,"button",37),P("click",function(){F(t);let i=c(2);return g(i.showPassword.set(!i.showPassword()))}),E(12,8),C(13,sn,2,0)(14,ln,2,0),y(),a(),s(15,"button",37),P("click",function(){F(t);let i=c(2);return g(i.generatePassword())}),E(16,9),m(17,"spk-icon"),y(),a(),C(18,un,4,1,"button",38),a(),C(19,mn,2,0,"spk-alert",39),a()}if(e&2){let t=c(2);l(5),u("type",t.showPassword()?"text":"password"),l(),T(t.generalForm.value.password?6:-1),l(2),u("type",t.showPassword()?"text":"password"),l(),T(t.generalForm.value.repeatPassword&&t.generalForm.value.repeatPassword!==t.generalForm.value.password?9:-1),l(4),T(t.showPassword()?13:14),l(5),T(t.showCopyPassword()?18:-1),l(),T(t.generalForm.value.password&&t.generalForm.value.password===t.generalForm.value.repeatPassword?19:-1)}}function _n(e,n){if(e&1&&(s(0,"spk-select",27)(1,"label",28),R(2,6),a(),m(3,"input",29),C(4,on,1,1,"ng-template"),a(),C(5,dn,20,7,"div",30)),e&2){let t=c();u("options",t.encryptionOptions())("isClearable",!1),l(5),T(t.encryptionFieldSignal()!==""?5:-1)}}function Fn(e,n){if(e&1&&(s(0,"button",24),E(1,13),m(2,"spk-icon"),y(),a()),e&2){let t=c();u("disabled",t.nameAndDescriptionValid()===!1)}}function gn(e,n){if(e&1&&(s(0,"spk-tooltip",25)(1,"button",24),E(2,14),m(3,"spk-icon"),y(),a()()),e&2){let t=c();u("disabled",!(t.showCopyPassword()&&!t.copiedPassword())),l(),u("disabled",t.generalForm.invalid||t.showCopyPassword()&&!t.copiedPassword())}}var qe=new ge,qt=(e={name:"",description:"",encryption:"",password:"",repeatPassword:""})=>qe.group({name:qe.control(e.name,[_e.required]),description:qe.control(e.description),encryption:qe.control(e.encryption,[Ht()]),password:qe.control(e.password,[Nt(n=>n?.value.encryption!=="",[_e.required])]),repeatPassword:qe.control(e.repeatPassword,[Nt(n=>n?.value.encryption!=="",[_e.required])])}),Mt={Key:"",DisplayName:"None"},Ot=class e{#n=$(pe);#t=$(Ee);#o=$(Xt);#i=$(he);#e=$(lt);formRef=we.required("formRef");generalForm=this.#i.generalForm;generalFormSignal=this.#i.generalFormSignal;encryptionFieldSignal=this.#i.encryptionFieldSignal;encryptionOptions=this.#i.encryptionOptions;isNew=this.#i.isNew;showPassword=D(!1);copiedPassword=D(!1);showCopyPassword=D(!1);encryptionEffect=it(()=>{this.encryptionFieldSignal()===""&&(this.copiedPassword.set(!1),this.showCopyPassword.set(!1))});nameAndDescriptionValid=v(()=>{let n=this.generalFormSignal(),t=this.generalForm.controls;return t?.name&&t.name.valid&&t?.description&&t.description.valid});calculatePasswordStrength=v(()=>{let t=this.generalFormSignal()?.password??"";return this.#o.calculatePasswordStrength(t)});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.#e.systemInfo()?.EncryptionModules??[];return t=>{let o=[Mt,...n].find(i=>i.Key===t);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.#n.navigate(["destination"],{relativeTo:this.#t.parent})}static \u0275fac=function(t){return new(t||e)};static \u0275cmp=se({type:e,selectors:[["app-general"]],viewQuery:function(t,o){t&1&&Re(o.formRef,tn,5),t&2&&Ie()},decls:21,vars:4,consts:()=>{let n;n=$localize`Your backup name`;let t;t=$localize`Your backup description`;let o;o=$localize`General backup settings`;let i;i=$localize` Backup name ${"\uFFFD#8\uFFFD"}:START_SUPERSCRIPT:*${"\uFFFD/#8\uFFFD"}:CLOSE_SUPERSCRIPT:`;let r;r=$localize`Backup description`;let p;p=$localize`${"\uFFFD#18\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#18\uFFFD"}:CLOSE_TAG_SPK_ICON: Exit `;let h;h=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:lock${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON: Encrypted backup `;let N;N=$localize`Encryption`;let w;w=$localize`Encryption`;let q;q=$localize`Password`;let I;I=$localize`Repeat password`;let G;G=$localize` Create a password ${"\uFFFD#4\uFFFD"}:START_SUPERSCRIPT:*${"\uFFFD/#4\uFFFD"}:CLOSE_SUPERSCRIPT:`;let U;U=$localize`${"\uFFFD*13:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:eye-slash${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: hide ${"\uFFFD/*13:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*14:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:eye${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: show ${"\uFFFD/*14:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,U=Ae(U);let ne;ne=$localize`${"\uFFFD#17\uFFFD"}:START_TAG_SPK_ICON:password${"\uFFFD/#17\uFFFD"}:CLOSE_TAG_SPK_ICON: Generate password `;let J;J=$localize`Passwords do not match`;let f;f=$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:`,f=Ae(f);let A;A=$localize` Tip: Be sure to save your password. If you loose it you will lose access to your backups. `;let L;L=$localize` Continue ${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let Q;return Q=$localize` Continue ${"\uFFFD#3\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#3\uFFFD"}:CLOSE_TAG_SPK_ICON:`,[["formRef",""],o,i,r,p,h,w,G,U,ne,J,f,A,L,Q,["autocomplete","off",3,"submit","formGroup"],[1,"title-30"],[1,"primary"],["for","backupName"],["type","text","tabindex","1","placeholder",n,"formControlName","name"],["for","backupDescription"],["id","backupDescription","tabindex","2","placeholder",t,"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"],["icon",""],["value","Key","label","DisplayName",3,"options","isClearable"],["for","encryption"],["type","text","id","encryption","tabindex","3","placeholder",N,"formControlName","encryption"],[1,"passwords"],["for","password"],["id","password","tabindex","4","autocomplete","off","placeholder",q,"formControlName","password",3,"type"],[1,"raised",3,"error","warn","primary","success","value"],["id","repeatPassword","tabindex","5","autocomplete","off","placeholder",I,"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(t,o){if(t&1){let i=b();s(0,"form",15,0),P("submit",function(){return F(i),g(o.next())}),s(2,"h3",16),R(3,1),a(),C(4,nn,3,0,"spk-alert",17),s(5,"spk-form-field")(6,"label",18),E(7,2),m(8,"sup"),y(),a(),m(9,"input",19),a(),s(10,"spk-form-field")(11,"label",20),R(12,3),a(),m(13,"textarea",21),a(),C(14,_n,6,3),s(15,"div",22)(16,"button",23),P("click",function(){return F(i),g(o.exit())}),E(17,4),m(18,"spk-icon"),y(),a(),C(19,Fn,3,1,"button",24)(20,gn,4,2,"spk-tooltip",25),a()()}if(t&2){let i;u("formGroup",o.generalForm),l(4),T(!o.isNew()&&((i=o.generalFormSignal())==null?null:i.encryption)!==""?4:-1),l(10),T(o.isNew()?14:-1),l(5),T(o.encryptionFieldSignal()===""||!o.isNew()?19:20)}},dependencies:[ze,Be,de,Fe,Ue,We,Xe,ue,me,be,ce,at,rt,st],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;padding-bottom:1.5rem}sup[_ngcontent-%COMP%]{padding:0 .125rem;color:var(--error-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})};function Cn(e,n){if(e&1){let t=b();s(0,"div",24)(1,"spk-form-field")(2,"label",25),R(3,7),a(),s(4,"input",26,0),K("ngModelChange",function(i){F(t);let r=c();return B(r.scheduleFields.nextTime().time,i)||(r.scheduleFields.nextTime().time=i),g(i)}),P("focus",function(){F(t);let i=ie(5);return g(i.showPicker())}),a(),s(6,"spk-icon",27),d(7,"clock"),a()(),s(8,"spk-form-field"),m(9,"label",28),s(10,"input",29,1),K("ngModelChange",function(i){F(t);let r=c();return B(r.scheduleFields.nextTime().date,i)||(r.scheduleFields.nextTime().date=i),g(i)}),P("focus",function(){F(t);let i=ie(11);return g(i.showPicker())}),a(),s(12,"spk-icon",27),d(13,"calendar"),a()()(),s(14,"div",24)(15,"spk-form-field")(16,"label",30),R(17,8),a(),s(18,"input",31),K("ngModelChange",function(i){F(t);let r=c();return B(r.scheduleFields.runAgain().repeatValue,i)||(r.scheduleFields.runAgain().repeatValue=i),g(i)}),a()(),s(19,"spk-select",32)(20,"input",33),K("ngModelChange",function(i){F(t);let r=c();return B(r.scheduleFields.runAgain().repeatUnit,i)||(r.scheduleFields.runAgain().repeatUnit=i),g(i)}),a()()(),s(21,"app-toggle-card",34),X(22,35),R(23,9),H(),s(24,"div",36)(25,"spk-toggle",19),E(26,10),s(27,"input",20),K("ngModelChange",function(i){F(t);let r=c();return B(r.scheduleFields.runAgain().allowedDays.mon,i)||(r.scheduleFields.runAgain().allowedDays.mon=i),g(i)}),a(),y(),a(),s(28,"spk-toggle",19),E(29,11),s(30,"input",20),K("ngModelChange",function(i){F(t);let r=c();return B(r.scheduleFields.runAgain().allowedDays.tue,i)||(r.scheduleFields.runAgain().allowedDays.tue=i),g(i)}),a(),y(),a(),s(31,"spk-toggle",19),E(32,12),s(33,"input",20),K("ngModelChange",function(i){F(t);let r=c();return B(r.scheduleFields.runAgain().allowedDays.wed,i)||(r.scheduleFields.runAgain().allowedDays.wed=i),g(i)}),a(),y(),a(),s(34,"spk-toggle",19),E(35,13),s(36,"input",20),K("ngModelChange",function(i){F(t);let r=c();return B(r.scheduleFields.runAgain().allowedDays.thu,i)||(r.scheduleFields.runAgain().allowedDays.thu=i),g(i)}),a(),y(),a(),s(37,"spk-toggle",19),E(38,14),s(39,"input",20),K("ngModelChange",function(i){F(t);let r=c();return B(r.scheduleFields.runAgain().allowedDays.fri,i)||(r.scheduleFields.runAgain().allowedDays.fri=i),g(i)}),a(),y(),a(),s(40,"spk-toggle",19),E(41,15),s(42,"input",20),K("ngModelChange",function(i){F(t);let r=c();return B(r.scheduleFields.runAgain().allowedDays.sat,i)||(r.scheduleFields.runAgain().allowedDays.sat=i),g(i)}),a(),y(),a(),s(43,"spk-toggle",19),E(44,16),s(45,"input",20),K("ngModelChange",function(i){F(t);let r=c();return B(r.scheduleFields.runAgain().allowedDays.sun,i)||(r.scheduleFields.runAgain().allowedDays.sun=i),g(i)}),a(),y(),a()()()}if(e&2){let t=c();l(4),V("ngModel",t.scheduleFields.nextTime().time),l(6),V("ngModel",t.scheduleFields.nextTime().date),l(8),V("ngModel",t.scheduleFields.runAgain().repeatValue),l(),u("options",t.unitOptions)("isClearable",!1),l(),V("ngModel",t.scheduleFields.runAgain().repeatUnit),l(),u("disallowToggle",!0),l(6),V("ngModel",t.scheduleFields.runAgain().allowedDays.mon),l(3),V("ngModel",t.scheduleFields.runAgain().allowedDays.tue),l(3),V("ngModel",t.scheduleFields.runAgain().allowedDays.wed),l(3),V("ngModel",t.scheduleFields.runAgain().allowedDays.thu),l(3),V("ngModel",t.scheduleFields.runAgain().allowedDays.fri),l(3),V("ngModel",t.scheduleFields.runAgain().allowedDays.sat),l(3),V("ngModel",t.scheduleFields.runAgain().allowedDays.sun)}}var hn=[{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`}],Oe={autoRun:!0,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}}},$t=class e{#n=$(he);#t=$(pe);#o=$(Ee);unitOptions=hn;scheduleFields=this.#n.scheduleFields;goBack(){this.#t.navigate(["source-data"],{relativeTo:this.#o.parent})}next(){this.#t.navigate(["options"],{relativeTo:this.#o.parent})}static \u0275fac=function(t){return new(t||e)};static \u0275cmp=se({type:e,selectors:[["app-schedule"]],decls:16,vars:2,consts:()=>{let n;n=$localize`Schedule`;let t;t=$localize` Automatically run backups ${"\uFFFD#5\uFFFD\uFFFD/#5\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#12\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SPK_ICON: Go back `;let r;r=$localize`${"\uFFFD#15\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#15\uFFFD"}:CLOSE_TAG_SPK_ICON: Continue `;let p;p=$localize`Next time`;let h;h=$localize`Run again every`;let N;N=$localize`Allowed days`;let w;w=$localize` Monday ${"\uFFFD#27\uFFFD\uFFFD/#27\uFFFD"}:TAG_INPUT:`;let q;q=$localize` Tuesday ${"\uFFFD#30\uFFFD\uFFFD/#30\uFFFD"}:TAG_INPUT:`;let I;I=$localize` Wednesday ${"\uFFFD#33\uFFFD\uFFFD/#33\uFFFD"}:TAG_INPUT:`;let G;G=$localize` Thursday ${"\uFFFD#36\uFFFD\uFFFD/#36\uFFFD"}:TAG_INPUT:`;let U;U=$localize` Friday ${"\uFFFD#39\uFFFD\uFFFD/#39\uFFFD"}:TAG_INPUT:`;let ne;ne=$localize` Saturday ${"\uFFFD#42\uFFFD\uFFFD/#42\uFFFD"}:TAG_INPUT:`;let J;return J=$localize` Sunday ${"\uFFFD#45\uFFFD\uFFFD/#45\uFFFD"}:TAG_INPUT:`,[["timeRef",""],["dateRef",""],n,t,o,i,r,p,h,N,w,q,I,G,U,ne,J,[1,"title-30"],[1,"toggle-wrap"],[1,"raised","primary"],["type","checkbox",3,"ngModelChange","ngModel"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","",1,"raised","primary",3,"click"],[1,"row-inputs"],["for","time"],["type","time","id","time",3,"ngModelChange","focus","ngModel"],["suffix",""],["for","date"],["type","date","id","date",3,"ngModelChange","focus","ngModel"],["for","repeatValue"],["type","number","id","repeatValue",3,"ngModelChange","ngModel"],["value","key","label","label",3,"options","isClearable"],["type","text","id","repeatUnit",3,"ngModelChange","ngModel"],[3,"disallowToggle"],["title",""],[1,"days-wrap"]]},template:function(t,o){t&1&&(s(0,"h3",17),R(1,2),a(),s(2,"div",18)(3,"spk-toggle",19),E(4,3),s(5,"input",20),K("ngModelChange",function(r){return B(o.scheduleFields.autoRun,r)||(o.scheduleFields.autoRun=r),r}),a(),y(),a(),s(6,"p"),R(7,4),a()(),C(8,Cn,46,14),s(9,"div",21)(10,"button",22),P("click",function(){return o.goBack()}),E(11,5),m(12,"spk-icon"),y(),a(),s(13,"button",23),P("click",function(){return o.next()}),E(14,6),m(15,"spk-icon"),y(),a()()),t&2&&(l(5),V("ngModel",o.scheduleFields.autoRun),l(3),T(o.scheduleFields.autoRun()?8:-1))},dependencies:[He,de,Ke,Le,Fe,Ve,ue,Ge,ce,be,me,je],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:32.5rem;padding:2.5rem 2.5rem 1.5rem;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 Sn(e,n){if(e&1&&(X(0,4),d(1),H()),e&2){let t,o=c();l(),xe((t=o.currentExpressionOption())==null?null:t.startsWith)}}function fn(e,n){if(e&1&&(X(0,5),d(1),H()),e&2){let t,o=c();l(),xe((t=o.currentExpressionOption())==null?null:t.endsWith)}}var Tn=[{key:"Excludes folders where name contains",value:"-FolderName"},{key:"Excludes folder",value:"-Folder"},{key:"Excludes files where name contains",value:"-FileName"},{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"},{key:"None",value:"-Unknown"}],Ct=class e{path=Tt.required();osType=Tt();pathChange=ft();remove=ft();internalPath=D("");pathType=D("-Expression");currentExpressionOption=v(()=>{let n=this.pathType();return this.expressionOptions().find(t=>t.value===n)});expressionOptions=v(()=>{let t=this.osType()==="Windows"?"\\":"/";return Tn.map(o=>o.value==="-Folder"||o.value==="+Folder"?De(S({},o),{startsWith:"",endsWith:""}):o.value==="-FolderName"||o.value==="+FolderName"?De(S({},o),{startsWith:"*",endsWith:`*${t}`}):o.value==="-FileName"||o.value==="+FileName"?De(S({},o),{startsWith:"[.*",endsWith:`[^\\${t}]*]`}):o.value==="-FileGroup"||o.value==="+FileGroup"?De(S({},o),{startsWith:"{",endsWith:"}"}):o.value==="-Regex"||o.value==="+Regex"?De(S({},o),{startsWith:"[",endsWith:"]"}):o.value==="-Extension"||o.value==="+Extension"?De(S({},o),{startsWith:"*.",endsWith:""}):De(S({},o),{startsWith:"",endsWith:""}))});pathEffect=it(()=>{let n=this.path(),t=n.slice(1),o=n.startsWith("-")?"-":"+",i=this.osType()==="Windows",r=i?"\\":"/";t.startsWith("%")&&t.endsWith(r)||i&&t.slice(2).startsWith(r)&&t.endsWith(r)||t.startsWith(r)&&t.endsWith(r)?(this.pathType.set(`${o}Folder`),this.internalPath.set(t)):t.startsWith("*")&&t.endsWith(`*${r}`)?(this.pathType.set(`${o}FolderName`),this.internalPath.set(t.slice(1,-2))):t.startsWith("[.*")&&t.endsWith(`[^\\${r}]*]`)?(this.pathType.set(`${o}FileName`),this.internalPath.set(t.slice(3,-7))):t.startsWith("{")&&t.endsWith("}")?(this.pathType.set(`${o}FileGroup`),this.internalPath.set(t.slice(1,-1))):t.startsWith("[")&&t.endsWith("]")?(this.pathType.set(`${o}Regex`),this.internalPath.set(t.slice(1,-1))):t.startsWith("*.")?(this.pathType.set(`${o}Extension`),this.internalPath.set(t.slice(2))):(this.pathType.set(`${o}Expression`),this.internalPath.set(t))});updateFilter(){let n=this.internalPath(),t=this.currentExpressionOption();n!==""&&this.pathChange.emit(`${t?.value.slice(0,1)}${t?.startsWith??""}${n}${t?.endsWith??""}`)}removeFilter(){this.remove.emit()}static \u0275fac=function(t){return new(t||e)};static \u0275cmp=se({type:e,selectors:[["app-new-filter"]],inputs:{path:[1,"path"],osType:[1,"osType"]},outputs:{pathChange:"pathChange",remove:"remove"},decls:9,vars:6,consts:()=>{let n;return n=$localize`Select an option...`,[["value","value","label","key",3,"options","isClearable"],["type","text","placeholder",n,3,"ngModelChange","ngModel"],[1,"expression-input"],["type","text",3,"ngModelChange","ngModel"],["prefix",""],["suffix",""],[1,"filter-removal",3,"click"],[1,"spk-primary"]]},template:function(t,o){if(t&1&&(s(0,"spk-select",0)(1,"input",1),K("ngModelChange",function(r){return B(o.pathType,r)||(o.pathType=r),r}),P("ngModelChange",function(){return o.updateFilter()}),a()(),s(2,"spk-form-field",2)(3,"input",3),K("ngModelChange",function(r){return B(o.internalPath,r)||(o.internalPath=r),r}),P("ngModelChange",function(){return o.updateFilter()}),a(),C(4,Sn,2,1,"ng-container",4)(5,fn,2,1,"ng-container",5),a(),s(6,"div",6),P("click",function(){return o.removeFilter()}),s(7,"spk-icon",7),d(8,"x-circle"),a()()),t&2){let i,r;u("options",o.expressionOptions())("isClearable",!1),l(),V("ngModel",o.pathType),l(2),V("ngModel",o.internalPath),l(),T(!((i=o.currentExpressionOption())==null||i.startsWith==null)&&i.startsWith.length?4:-1),l(),T(!((r=o.currentExpressionOption())==null||r.endsWith==null)&&r.endsWith.length?5:-1)}},dependencies:[He,de,Fe,Ve,me,ue,ce],styles:["[_nghost-%COMP%]{display:grid;grid-template-columns:13.125rem 1fr 1.875rem;gap:.5rem;align-items:flex-end}.expression-input[_ngcontent-%COMP%]{--ff-suffix-bg: var(--base-level-20)}.filter-removal[_ngcontent-%COMP%]{cursor:pointer;display:flex;align-items:center;justify-content:center;height:2.5rem;flex:0 0}"],changeDetection:0})};var Dn=["formRef"],Qt=()=>({standalone:!0});function En(e,n){if(e&1){let t=b();s(0,"spk-form-field",42)(1,"input",43),K("ngModelChange",function(i){F(t);let r=c(2);return B(r.editingPath,i)||(r.editingPath=i),g(i)}),a()(),s(2,"button",44),P("click",function(){F(t);let i=c(2);return g(i.updatePath())}),s(3,"spk-icon"),d(4,"floppy-disk"),a()(),s(5,"button",44),P("click",function(){F(t);let i=c(2);return g(i.cancelEditPath())}),s(6,"spk-icon"),d(7,"x-bold"),a()()}if(e&2){let t=c(2);l(),V("ngModel",t.editingPath),u("ngModelOptions",Ze(2,Qt))}}function yn(e,n){if(e&1){let t=b();s(0,"spk-form-field",42),m(1,"input",45),a(),s(2,"button",44),P("click",function(){F(t);let i=c().$implicit,r=c();return g(r.editPath(i))}),s(3,"spk-icon"),d(4,"pen"),a()(),s(5,"button",44),P("click",function(){F(t);let i=c().$implicit,r=c();return g(r.removePath(i))}),s(6,"spk-icon"),d(7,"trash-simple"),a()()}if(e&2){let t=c().$implicit;vt("readonly",!0),l(),u("ngModel",t)("ngModelOptions",Ze(3,Qt))}}function Pn(e,n){if(e&1&&(s(0,"div",30),C(1,En,8,3)(2,yn,8,4),a()),e&2){let t=n.$implicit,o=c();l(),T(o.oldPath()===t?1:2)}}function An(e,n){if(e&1){let t=b();s(0,"app-new-filter",47),P("pathChange",function(i){let r=F(t).$index,p=c(2);return g(p.patchPathAt(i,r))})("remove",function(){let i=F(t).$index,r=c(2);return g(r.removePathAt(i))}),a()}if(e&2){let t,o=n.$implicit,i=c(2);u("path",o)("osType",(t=i.osType())!==null&&t!==void 0?t:"")}}function Nn(e,n){if(e&1&&ee(0,An,1,2,"app-new-filter",46,Z),e&2){let t=c();te(t.pathArray())}}function kn(e,n){if(e&1&&(s(0,"div",41)(1,"spk-form-field"),m(2,"input",48),a(),s(3,"spk-select",49),m(4,"input",50),a()()),e&2){let t=c();l(3),u("options",t.sizeOptions())("isClearable",!1)}}var fe=new ge,On=["Bytes","KB","MB","GB","TB","PB"],Yt=(e={path:"",filters:[],excludes:{hidden:!1,system:!1,temporary:!1,filesLargerThan:null}})=>fe.group({path:fe.control(e.path),excludes:fe.group({hidden:fe.control(e.excludes.hidden),system:fe.control(e.excludes.system),temporary:fe.control(e.excludes.temporary),filesLargerThan:fe.group({size:fe.control(null),unit:fe.control(null)})})}),wt=class e{#n=$(he);#t=$(pe);#o=$(Ee);formRef=we.required("formRef");sourceDataForm=this.#n.sourceDataForm;sourceDataFormSignal=this.#n.sourceDataFormSignal;newPathCtrl=new pt("");filesLargerThan=v(()=>this.sourceDataFormSignal()?.excludes?.filesLargerThan?.size!==null);sizeOptions=D(On);osType=this.#n.osType;pathSignal=z(this.sourceDataForm.controls.path.valueChanges);pathArray=v(()=>this.pathSignal()?.split("\0").filter(n=>n.startsWith("-")||n.startsWith("+")||n==="___none___")??[]);nonFilterPaths=v(()=>this.pathSignal()?.split("\0").filter(n=>!n.startsWith("-")&&!n.startsWith("+")&&n!==""));oldPath=D(null);editingPath=D(null);addingNewPath=D(!1);editPath(n){this.oldPath.set(n),this.editingPath.set(n)}updatePath(){let n=this.oldPath(),t=this.editingPath();if(!n||!t||t===n){this.oldPath.set(null),this.editingPath.set(null);return}let o=this.sourceDataForm.controls.path.value;this.sourceDataForm.controls.path.setValue(o?.replace(n,t)??""),this.oldPath.set(null),this.editingPath.set(null)}cancelEditPath(){this.oldPath.set(null),this.editingPath.set(null)}removePath(n){let t=this.sourceDataForm.controls.path.value??"",o=t.indexOf(n);if(o===-1)return;let i=o===0?n:"\0"+n,r=t.replace(i,"");this.sourceDataForm.controls.path.setValue(r)}addFilter(n="-*"){let t=this.sourceDataForm.controls.path.value;this.sourceDataForm.controls.path.setValue(`${t}\0${n}`)}patchPathAt(n,t){let i=this.sourceDataForm.controls.path.value.split("\0").filter(p=>!p.startsWith("-")&&!p.startsWith("+")).join("\0"),r=this.pathArray().map((p,h)=>h===t?`${n}`:`${p}`).join("\0");this.sourceDataForm.controls.path.setValue(`${i}\0${r}`)}removePathAt(n){let o=this.sourceDataForm.controls.path.value.split("\0").filter(r=>!r.startsWith("-")&&!r.startsWith("+")).join("\0"),i=this.pathArray().filter((r,p)=>p!==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,t=this.newPathCtrl.value;this.sourceDataForm.controls.path.setValue(`${n}\0${t}`),this.newPathCtrl.setValue("")}goBack(){this.#t.navigate(["destination"],{relativeTo:this.#o.parent})}next(){this.#t.navigate(["schedule"],{relativeTo:this.#o.parent})}static \u0275fac=function(t){return new(t||e)};static \u0275cmp=se({type:e,selectors:[["app-source-data"]],viewQuery:function(t,o){t&1&&Re(o.formRef,Dn,5),t&2&&Ie()},decls:56,vars:12,consts:()=>{let n;n=$localize`Path`;let t;t=$localize`Add a direct path`;let o;o=$localize`Hidden files`;let i;i=$localize`System files`;let r;r=$localize`Temporary files`;let p;p=$localize`Source Data`;let h;h=$localize`Folder path`;let N;N=$localize`${"\uFFFD#12\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SPK_ICON: Go back `;let w;w=$localize`${"\uFFFD#15\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#15\uFFFD"}:CLOSE_TAG_SPK_ICON: Continue `;let q;q=$localize`Paths`;let I;I=$localize`Add a path directly from your machine.`;let G;G=$localize`Filters`;let U;U=$localize`Customize your filters.`;let ne;ne=$localize`Add filter`;let J;J=$localize`Exclude`;let f;f=$localize`Choose if there’s any files you want to exclude.`;let A;A=$localize` Hidden files ${"\uFFFD#46\uFFFD\uFFFD/#46\uFFFD"}:TAG_INPUT:`;let L;L=$localize` System files ${"\uFFFD#49\uFFFD\uFFFD/#49\uFFFD"}:TAG_INPUT:`;let Q;Q=$localize` Temporary files ${"\uFFFD#52\uFFFD\uFFFD/#52\uFFFD"}:TAG_INPUT:`;let k;k=$localize` Files larger than `;let re;re=$localize`Edit path`;let oe;return oe=$localize`Select an option...`,[["formRef",""],p,h,N,w,q,I,G,U,ne,J,f,A,L,Q,k,[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,"paths"],[1,"path"],[1,"row-inputs"],["type","text","placeholder",t,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",r,"formControlName","temporary"],[1,"raised","primary",3,"click"],["formGroupName","filesLargerThan",1,"row-inputs"],[1,"small"],["type","text","placeholder",re,3,"ngModelChange","ngModel","ngModelOptions"],["spk-button","","type","button",1,"small",3,"click"],["type","text",3,"ngModel","ngModelOptions"],[3,"path","osType"],[3,"pathChange","remove","path","osType"],["type","number","formControlName","size"],[3,"options","isClearable"],["type","text","formControlName","unit","placeholder",oe]]},template:function(t,o){if(t&1){let i=b();s(0,"form",16,0),P("submit",function(){return F(i),g(o.next())}),s(2,"div",17)(3,"h3",18),R(4,1),a(),s(5,"app-file-tree",19)(6,"label",20),R(7,2),a(),m(8,"input",21),a(),s(9,"div",22)(10,"button",23),P("click",function(){return F(i),g(o.goBack())}),E(11,3),m(12,"spk-icon"),y(),a(),s(13,"button",24),E(14,4),m(15,"spk-icon"),y(),a()()(),s(16,"div",25)(17,"app-toggle-card",26),X(18,27),R(19,5),H(),s(20,"p",28),R(21,6),a(),s(22,"div",29),ee(23,Pn,3,1,"div",30,Z),s(25,"div",31)(26,"spk-form-field"),m(27,"input",32),a(),s(28,"button",33),P("click",function(){return F(i),g(o.addNewPath())}),s(29,"spk-icon"),d(30,"plus"),a()()()()(),s(31,"app-toggle-card",26),X(32,27),R(33,7),H(),s(34,"p",28),R(35,8),a(),s(36,"button",34),P("click",function(){return F(i),g(o.addFilter())}),R(37,9),a(),C(38,Nn,2,0),a(),s(39,"app-toggle-card",35),X(40,27),R(41,10),H(),s(42,"p",28),R(43,11),a(),s(44,"spk-toggle",36),E(45,12),m(46,"input",37),y(),a(),s(47,"spk-toggle",36),E(48,13),m(49,"input",38),y(),a(),s(50,"spk-toggle",36),E(51,14),m(52,"input",39),y(),a(),s(53,"spk-toggle",40),P("click",function(){return F(i),g(o.toggleFilesLargerThan())}),R(54,15),a(),C(55,kn,5,2,"div",41),a()()()}if(t&2){let i;u("formGroup",o.sourceDataForm),l(5),u("multiSelect",!0)("startingPath",o.getPath())("showFiles",!0),l(12),u("disallowToggle",!0),l(6),te(o.nonFilterPaths()),l(4),u("formControl",o.newPathCtrl),l(4),u("disallowToggle",!0),l(7),T((i=o.pathSignal())!=null&&i.length?38:-1),l(),u("disallowToggle",!0),l(14),Pe("active",o.filesLargerThan()),l(2),T(o.filesLargerThan()?55:-1)}},dependencies:[He,Be,de,Ke,Le,Fe,Ue,Ve,ze,ct,We,Xe,ut,ue,ce,be,Ge,me,Ct,mt,je],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}spk-divider[_ngcontent-%COMP%]{margin:.75rem 0}.row-inputs[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr min-content;gap:.25rem}.paths[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.path[_ngcontent-%COMP%]{display:grid;align-items:center;grid-template-columns:1fr min-content min-content;gap:.25rem}"],changeDetection:0})};var Jt="1W:1D,4W:1W,12M:1M",Te=new ge,he=class e{#n=$(pe);#t=$(lt);#o=$(ve);#i=$(dt);generalForm=qt();sourceDataForm=Yt();scheduleFields={autoRun:D(Oe.autoRun),nextTime:D(Oe.nextTime),runAgain:D(Oe.runAgain)};destinationForm=Zt();settings=D([]);optionsFields={remoteVolumeSize:D("50MB"),backupRetention:D("all"),backupRetentionTime:D(""),backupRetentionVersions:D(0),backupRetentionCustom:D("")};isDraft=D(!1);backupId=D(null);isSubmitting=D(!1);finishedLoading=D(!1);backupDefaults=D(null);isNew=v(()=>this.backupId()==="new");osType=v(()=>this.#t.systemInfo()?.OSType);selectedOptions=D([]);selectedAdvancedFormPair=D([]);destinationFormPair=D({oauthField:null,custom:[],dynamic:[],advanced:[]});notSelectedAdvancedFormPair=v(()=>{let n=this.destinationFormPair()?.advanced??[],t=this.selectedAdvancedFormPair()??[];return n.filter(o=>t.findIndex(i=>i.name===o.name)===-1)});selectedHttpOptions=D([]);notSelectedHttpOptions=v(()=>{let n=this.httpOptions(),t=this.selectedHttpOptions()??[];return n.filter(o=>t.findIndex(i=>i.name===o.name)===-1)});sourceDataFormSignal=z(this.sourceDataForm.valueChanges);destinationFormSignal=z(this.destinationForm.valueChanges);generalFormSignal=z(this.generalForm.valueChanges);encryptionFieldSignal=z(this.generalForm.controls.encryption.valueChanges);destinationOptions=v(()=>this.#t.backendModules()??[]);httpOptions=v(()=>this.#t.systemInfo()?.GenericModules?.find(n=>n.Key==="http-options")?.Options?.map(this.#e)??[]);advancedOptions=v(()=>this.#t.systemInfo()?.Options?.map(this.#e)??[]);#e(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[Mt,...n]});nonSelectedOptions=v(()=>this.advancedOptions().sort((n,t)=>n?.name&&t?.name?n?.name.localeCompare(t?.name):0).filter(n=>this.selectedOptions()?.findIndex(t=>t.name===n.name)===-1));addAdvancedFormPairByName(n,t,o){let i=this.notSelectedAdvancedFormPair().find(r=>r.name===n);i&&this.addAdvancedFormPair(i,t,o)}addHttpOptionByName(n,t,o){let i=this.notSelectedHttpOptions().find(r=>r.name===n);i&&this.addHttpOption(i,t,o)}addAdvancedFormPair(n,t,o){let i=this.destinationForm.controls.destinations.controls.at(t)?.controls.advanced,r=o??n.defaultValue;this.createFormField(i,n,r),this.selectedAdvancedFormPair.set([...this.selectedAdvancedFormPair(),n])}addHttpOption(n,t,o){let i=this.destinationForm.controls.destinations.controls.at(t)?.controls.advanced,r=o??n.defaultValue;this.createFormField(i,n,r),this.selectedHttpOptions.set([...this.selectedHttpOptions(),n])}removeAdvancedFormPair(n,t){this.destinationForm.controls.destinations.controls.at(t)?.controls.advanced.removeControl(n.name),this.selectedAdvancedFormPair().findIndex(i=>i.name===n.name)!==-1?this.selectedAdvancedFormPair.update(i=>(i=i.filter(r=>r.name!==n.name),i)):this.selectedHttpOptions.update(i=>(i=i.filter(r=>r.name!==n.name),i))}removeHttpOption(n,t){this.destinationForm.controls.destinations.controls.at(t)?.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(),t=this.backupId();t==="new"||!t||this.isDraft()?this.#o.postApiV1Backups({requestBody:n}).pipe(Ye(()=>this.isSubmitting.set(!1))).subscribe({next:o=>{this.exit()},error:o=>{}}):this.#o.putApiV1BackupById({id:t,requestBody:n}).pipe(Ye(()=>this.isSubmitting.set(!1))).subscribe({next:o=>{this.exit()},error:o=>{}})}exit(){this.#c(),this.#n.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 t=n.Sources??"",o=n.Filters?.map(h=>`${h.Include?"":"-"}${h.Expression}`)??[],i=n.Settings?.find(h=>h.Name==="--exclude-files-attributes")?.Value??"",r=n.Settings?.find(h=>h.Name==="--skip-files-larger-than")??null,p={path:[...t,...o].join("\0"),excludes:{hiddenFiles:i.includes("hidden"),systemFiles:i.includes("system"),tempFiles:i.includes("temporary"),filesLargerThan:r?.Value?.toUpperCase()??null}};this.sourceDataForm.patchValue(p)}mapDestinationToForm(n){let t=n.TargetURL?kt(n.TargetURL):null;t&&this.addDestinationFormGroup(t.destinationType,{custom:t.custom,dynamic:t.dynamic,advanced:t.advanced},!0)}#s(n){let t=kt(n);t&&this.addDestinationFormGroup(t.destinationType,{custom:t.custom,dynamic:t.dynamic,advanced:t.advanced},!0)}mapGeneralToForm(n){let t=n.Settings?.find(p=>p.Name==="encryption-module"),o=n.Settings?.find(p=>p.Name==="passphrase")?.Value??"",i=t?.Value&&t.Value.length?t.Value:"",r={name:n.Name??"",description:n.Description??""};i&&i!==""&&(r.encryption=i),o&&o!==""&&(r.password=o,r.repeatPassword=o),this.generalForm.patchValue(r)}mapScheduleToForm(n){if(!n){this.scheduleFields.autoRun.set(!1);return}let t=this.#i.fromString(n.Repeat)??null,o=this.#p(n.Time);this.scheduleFields.autoRun.set(!0),this.scheduleFields.nextTime.update(i=>S(S({},i),o)),this.scheduleFields.runAgain.set({repeatValue:t?.value??1,repeatUnit:t?.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}})}mapOptionsToForms(n){let t=["--no-encryption","--exclude-files-attributes","--skip-files-larger-than","dblock-size","passphrase","keep-time","keep-versions","retention-policy"],o=n.Settings?.filter(p=>!t.includes(p.Name)),i=n.Settings?.filter(p=>t.includes(p.Name));this.settings.set(o??[]),o?.forEach(p=>{if(p.Name==="encryption-module"&&this.isNew())return this.generalForm.controls.encryption.setValue(p.Value??"")});var r="all";i?.forEach(p=>{if(console.log("x",p.Name),p.Name==="dblock-size"&&this.optionsFields.remoteVolumeSize.set(p.Value??"50MB"),p.Name==="keep-time"&&(p.Value??"")!=="")return r="time",this.optionsFields.backupRetentionTime.set(p.Value??"");if(p.Name==="keep-versions"&&(p.Value??"")!=="")return r="versions",this.optionsFields.backupRetentionVersions.set(p.Value?parseInt(p.Value):null);if(p.Name==="retention-policy"&&(p.Value??"")!=="")if(p.Value===Jt)r="smart";else return r="custom",this.optionsFields.backupRetentionCustom.set(p.Value??"")}),this.optionsFields.backupRetention.set(r)}getCurrentTargetUrl(){return this.#a(this.destinationForm.controls.destinations)}getScheduleFormValue(){return{autoRun:this.scheduleFields.autoRun(),nextTime:this.scheduleFields.nextTime(),runAgain:this.scheduleFields.runAgain()}}#l(){let n=this.generalForm.value,t=this.getScheduleFormValue(),o=this.sourceDataForm.value,r=this.destinationForm.value.destinations?.length?this.#a(this.destinationForm.controls.destinations):[],p=null;t.runAgain?.repeatUnit&&t.runAgain?.repeatValue&&(p=this.#i.toString(t.runAgain.repeatValue,t.runAgain.repeatUnit));let h=t.runAgain?.allowedDays?Object.entries(t.runAgain?.allowedDays).filter(([G,U])=>U).map(([G,U])=>G):[],N=o.path?.split("\0")??[],w=this.mapFormsToSettings(),q=Object.entries(o.excludes??{}).filter(([G,U])=>U&&G!=="filesLargerThan").map(([G])=>G),I=o.excludes?.filesLargerThan;return q.length&&w.push({Name:"--exclude-files-attributes",Value:q.join(",")}),I&&I.size!==null&&I.unit!==null&&w.push({Name:"--skip-files-larger-than",Value:`${I.size}${I.unit}`}),{Backup:{Name:n.name,Description:n.description,TargetURL:r[0]??null,Sources:N.filter(G=>!G.startsWith("-")),Settings:w,Filters:N.filter(G=>G.startsWith("-")).map((G,U)=>({Order:U,Include:!1,Expression:G.slice(1)}))},Schedule:t.autoRun?{Repeat:p,Time:t.nextTime?.date?new Date(`${t.nextTime.date}T${t.nextTime?.time||"00:00:00"}`).toISOString():null,AllowedDays:h}:null}}mapFormsToSettings(n=[]){let t=this.generalForm.value,o=["--no-encryption","--exclude-files-attributes","--skip-files-larger-than","encryption-module","passphrase","keep-time","keep-versions","retention-policy","dblock-size"],i=[{Name:"--no-encryption",Value:"True"}];t.encryption!==""&&(i=[{Name:"encryption-module",Value:t.encryption??null},{Name:"passphrase",Value:t.password??null}]);let r=[{Name:"dblock-size",Value:this.optionsFields.remoteVolumeSize()}];switch(this.optionsFields.backupRetention()){case"time":r.push({Name:"keep-time",Value:this.optionsFields.backupRetentionTime()});break;case"versions":r.push({Name:"keep-versions",Value:this.optionsFields.backupRetentionVersions()?.toString()??""});break;case"custom":r.push({Name:"retention-policy",Value:this.optionsFields.backupRetentionCustom()});break;case"smart":r.push({Name:"retention-policy",Value:Jt});break}let p=[...n,...o],h=this.settings().filter(N=>!p.includes(N.Name)).map(N=>{let w=N.Value;return typeof N.Value=="number"&&(w=N.Value.toString()),typeof N.Value=="boolean"&&(w=N.Value?"True":"False"),{Name:N.Name,Value:w}});return[...i,...r,...h]}#a(n){return n.controls.map(t=>_t(t.value))}#p(n){if(!n||n?.indexOf("T")===-1)return{time:n??"13:00"};let t=new Date(n);return{time:`${(""+t.getHours()).padStart(2,"0")}:${(""+t.getMinutes()).padStart(2,"0")}`,date:t.toISOString().split("T")[0]}}createFormField(n,t,o){if(t.type==="String"||t.type==="FileTree"||t.type==="FolderTree"||t.type==="Password"||t.type==="Enumeration"||t.type==="NonValidatedSelectableString"||t.type==="Path"){n.addControl(t.name,Te.control(o));return}if(t.type==="Size"){n.addControl(t.name,Te.control(o));return}if(t.type==="Integer"){n.addControl(t.name,Te.control(o?parseInt(o):0));return}if(t.type==="Boolean"){n.addControl(t.name,Te.control(o==="true"||o==="True"));return}if(t.type==="Flags"){n.addControl(t.name,Te.control(o??""));return}if(t.type==="Timespan"||t.type==="DateTime"){n.addControl(t.name,Te.control(o,[_e.pattern(/([-+]?\d{1,3}[smhDWMY])+/)]));return}}addDestinationFormGroup(n,t,o=!1){let i=Se.find(f=>f.customKey===n||f.key===n),r=i?.key,p=this.destinationOptions().find(f=>f.Key===r),h=this.httpOptions();if(!p||!p.Options)return;let N=i&&i.oauthField?i.oauthField:null,w=i&&i.customFields?i.customFields:{},q=i&&i.dynamicFields?i.dynamicFields:[],I=i&&i.advancedFields?i.advancedFields:[],G=i&&i.ignoredAdvancedFields?i.ignoredAdvancedFields:[];this.destinationFormPair.set({oauthField:N,custom:[],dynamic:[],advanced:[]});let U=Te.group({}),ne=Te.group({}),J=Te.group({});w&&Object.entries(w).forEach(([f,A],L)=>{let re=A,{formElement:Q}=re,k=It(re,["formElement"]);U.addControl(f,Q(t?.custom[f])),this.destinationFormPair.update(oe=>(oe.custom.push(S({order:900+L},k)),oe))});for(let f=0;f<p.Options.length;f++){let A=p.Options[f];if(A.Deprecated)continue;let L=q.find(Q=>Q===A.Name||Q.name===A.Name);if(L){let Q=L&&typeof L!="string",k=Q?L?.defaultValue??A.DefaultValue:A.DefaultValue,re={name:A.Name,type:A.Type,shortDescription:A.ShortDescription??void 0,longDescription:A.LongDescription??void 0,options:A.ValidValues,order:900+f},oe=Q?S(S({},re),L):re,ot=t?.dynamic[A.Name]??k??A.DefaultValue;this.createFormField(ne,oe,ot),this.destinationFormPair.update(Me=>(Me.dynamic.push(oe),Me))}else{if(G.find(ae=>ae===A.Name))continue;let k=I.find(ae=>ae===A.Name||ae.name===A.Name),re=k&&typeof k!="string",oe=t?.advanced[A.Name],x=oe??A.DefaultValue,ot={name:A.Name,type:A.Type,shortDescription:A.ShortDescription??void 0,longDescription:A.LongDescription??void 0,options:A.ValidValues,defaultValue:x,order:900+f},Me=re?S(S({},ot),k):ot;o&&oe&&(this.createFormField(J,Me,x),this.selectedAdvancedFormPair.update(ae=>(ae.push(Me),ae))),this.destinationFormPair.update(ae=>(ae.advanced.push(Me),ae))}}for(let f=0;f<h.length;f++){let A=h[f],L=t?.advanced[A.name],Q=L??A.defaultValue;o&&L&&(this.createFormField(J,A,Q),this.selectedHttpOptions.update(k=>(k.push(A),k)))}this.destinationFormPair.update(f=>({oauthField:f.oauthField,custom:f.custom.sort((A,L)=>A.order-L.order),dynamic:f.dynamic.sort((A,L)=>A.order-L.order),advanced:f.advanced.sort((A,L)=>A.order-L.order)})),this.destinationForm.controls.destinations.push(en({key:i?.customKey??n,customGroup:U,dynamicGroup:ne,advancedGroup:J}))}#c(){this.generalForm.reset(),this.destinationForm.controls.destinations.clear(),this.destinationForm.reset(),this.sourceDataForm.reset(),this.scheduleFields.autoRun.set(Oe.autoRun),this.scheduleFields.nextTime.set(Oe.nextTime),this.scheduleFields.runAgain.set(Oe.runAgain),this.optionsFields.remoteVolumeSize.set("50MB"),this.optionsFields.backupRetention.set("all"),this.settings.set([])}static \u0275fac=function(t){return new(t||e)};static \u0275prov=$e({token:e,factory:e.\u0275fac,providedIn:"root"})};var Mn=["formRef"],$n=(e,n,t,o)=>({index:e,formView:n,formGroupName:"custom",destinationType:t,oauthField:o}),St=e=>({$implicit:e}),wn=(e,n,t,o)=>({index:e,formView:n,formGroupName:"dynamic",destinationType:t,oauthField:o}),Rn=(e,n,t,o)=>({index:e,formView:n,formGroupName:"advanced",destinationType:t,oauthField:o}),In=(e,n,t,o)=>({index:e,formView:n,formGroupName:"advanced",asHttpOptions:!0,destinationType:t,oauthField:o}),xn=()=>({maxWidth:"700px",width:"100%"});function vn(e,n){e&1&&(E(0,5,2),m(1,"spk-icon"),y())}function bn(e,n){e&1&&R(0,5,3)}function Gn(e,n){if(e&1){let t=b();E(0,5,1),s(1,"button",21),P("click",function(){F(t);let i=c();return g(i.testDestination())}),C(2,vn,2,0)(3,bn,1,0),a(),y()}if(e&2){let t=c();l(),Pe("success",t.successfulTest()),l(),T(t.successfulTest()?2:3)}}function Ln(e,n){if(e&1){let t=b();s(0,"p",27),P("click",function(){F(t);let i=c();return g(i.removeDestinationFormGroup(i.destinationCount()-1))}),E(1,8),m(2,"span",28),y(),a()}}function Un(e,n){if(e&1){let t=b();s(0,"div",34),P("click",function(){let i=F(t).$implicit,r=c(2);return g(r.addDestinationFormGroup(i.key))}),s(1,"h3"),d(2),a(),s(3,"p"),d(4),a()()}if(e&2){let t=n.$implicit;l(2),xe(t.displayName),l(2),xe(t.description)}}function Vn(e,n){if(e&1){let t=b();s(0,"button",35,1),P("click",function(){let i=F(t).$implicit,r=c(2);return g(r.addDestinationFormGroup(i.key))}),d(2),a()}if(e&2){let t=n.$implicit;l(2),j(" ",t.displayName," ")}}function Bn(e,n){if(e&1&&(s(0,"div",29),ee(1,Un,5,2,"div",30,Z),a(),s(3,"spk-menu",31)(4,"button",32),R(5,9),a(),X(6,20),ee(7,Vn,3,1,"button",33,Z),H(),a()),e&2){let t=c();l(),te(t.destinationTypeOptionsFocused()),l(2),u("searchable",!0),l(4),te(t.destinationTypeOptionsNotFocused())}}function Kn(e,n){e&1&&Je(0)}function Wn(e,n){if(e&1&&C(0,Kn,1,0,"ng-container",40),e&2){let t,o=n.$implicit,i=n.$index;c();let r=ie(29),p=c();u("ngTemplateOutlet",r)("ngTemplateOutletContext",et(7,St,tt(2,$n,i,o,(t=p.destinationFormSignal())==null||t.destinations==null||t.destinations[0]==null?null:t.destinations[0].destinationType,p.destinationFormPair().oauthField)))}}function Xn(e,n){e&1&&Je(0)}function Hn(e,n){if(e&1&&C(0,Xn,1,0,"ng-container",40),e&2){let t,o=n.$implicit,i=n.$index;c();let r=ie(29),p=c();u("ngTemplateOutlet",r)("ngTemplateOutletContext",et(7,St,tt(2,wn,i,o,(t=p.destinationFormSignal())==null||t.destinations==null||t.destinations[0]==null?null:t.destinations[0].destinationType,p.destinationFormPair().oauthField)))}}function zn(e,n){if(e&1){let t=b();E(0,10,1),s(1,"button",35,1),P("click",function(){let i=F(t).$implicit,r=c(2);return g(r.addAdvancedFormPair(i,0))}),a(),y()}if(e&2){let t=n.$implicit;l(),Dt(t.name),Et(0)}}function jn(e,n){e&1&&Je(0)}function qn(e,n){if(e&1&&C(0,jn,1,0,"ng-container",40),e&2){let t,o=n.$implicit,i=n.$index;c();let r=ie(29),p=c();u("ngTemplateOutlet",r)("ngTemplateOutletContext",et(7,St,tt(2,Rn,i,o,(t=p.destinationFormSignal())==null||t.destinations==null||t.destinations[0]==null?null:t.destinations[0].destinationType,p.destinationFormPair().oauthField)))}}function Qn(e,n){if(e&1){let t=b();E(0,11,1),s(1,"button",35,1),P("click",function(){let i=F(t).$implicit,r=c(2);return g(r.addHttpOption(i,0))}),a(),y()}if(e&2){let t=n.$implicit;l(),Dt(t.name),Et(0)}}function Yn(e,n){e&1&&Je(0)}function Jn(e,n){if(e&1&&C(0,Yn,1,0,"ng-container",40),e&2){let t,o=n.$implicit,i=n.$index;c();let r=ie(29),p=c();u("ngTemplateOutlet",r)("ngTemplateOutletContext",et(7,St,tt(2,In,i,o,(t=p.destinationFormSignal())==null||t.destinations==null||t.destinations[0]==null?null:t.destinations[0].destinationType,p.destinationFormPair().oauthField)))}}function Zn(e,n){if(e&1&&(s(0,"spk-tooltip",48)(1,"spk-icon"),d(2,"question"),a()()),e&2){let t=c(2).$implicit;u("message",t.formView.longDescription)}}function eo(e,n){if(e&1&&(s(0,"app-file-tree",43)(1,"label",47),d(2),C(3,Zn,3,1,"spk-tooltip",48),a(),m(4,"input",49),a()),e&2){let t,o=c().$implicit,i=c(2);u("startingPath",i.getFormFieldValue(0,o.formGroupName,o.formView.name))("accepts",o.formView.accepts)("showFiles",!0)("hideShortcuts",!0)("showHiddenNodes",!0)("selectFiles",!0),l(),W("for","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),l(),j(" ",(t=o.formView.shortDescription)!==null&&t!==void 0?t:o.formView.name," "),l(),T(o.formView.longDescription?3:-1),l(),W("id","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),le("formControlName",o.formView.name)}}function to(e,n){if(e&1&&(s(0,"spk-tooltip",48)(1,"spk-icon"),d(2,"question"),a()()),e&2){let t=c(2).$implicit;u("message",t.formView.longDescription)}}function no(e,n){if(e&1&&(s(0,"app-file-tree",44)(1,"label",47),d(2),C(3,to,3,1,"spk-tooltip",48),a(),m(4,"input",49),a()),e&2){let t,o=c().$implicit,i=c(2);u("hideShortcuts",!0)("startingPath",i.getFormFieldValue(0,o.formGroupName,o.formView.name)),l(),W("for","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),l(),j(" ",(t=o.formView.shortDescription)!==null&&t!==void 0?t:o.formView.name," "),l(),T(o.formView.longDescription?3:-1),l(),W("id","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),le("formControlName",o.formView.name)}}function oo(e,n){if(e&1&&(s(0,"spk-tooltip",48)(1,"spk-icon"),d(2,"question"),a()()),e&2){let t=c(2).$implicit;u("message",t.formView.longDescription)}}function io(e,n){e&1&&(s(0,"spk-icon",51),d(1,"link"),a())}function ro(e,n){e&1&&(s(0,"spk-icon",51),d(1,"envelope"),a())}function ao(e,n){e&1&&(s(0,"spk-icon",51),d(1,"textbox"),a())}function so(e,n){if(e&1&&(s(0,"spk-form-field")(1,"label",47),d(2),C(3,oo,3,1,"spk-tooltip",48),a(),m(4,"input",50),C(5,io,2,0,"spk-icon",51)(6,ro,2,0,"spk-icon",51)(7,ao,2,0,"spk-icon",51),a()),e&2){let t,o=c().$implicit;l(),W("for","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),l(),j(" ",(t=o.formView.shortDescription)!==null&&t!==void 0?t:o.formView.name," "),l(),T(o.formView.longDescription?3:-1),l(),W("id","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),le("formControlName",o.formView.name),u("type",o.formView.type==="Email"?"email":"text"),l(),T(o.formView.type==="Path"?5:o.formView.type==="Email"?6:7)}}function lo(e,n){if(e&1){let t=b();s(0,"span",55),P("click",function(){F(t);let i=c(2).$implicit,r=c(2);return g(r.oauthStartTokenCreation(i.destinationType))}),d(1,"AuthID"),a()}}function po(e,n){e&1&&(s(0,"spk-icon",51),d(1,"password"),a())}function co(e,n){if(e&1){let t=b();s(0,"spk-icon",56),P("click",function(){F(t);let i=c(2).$implicit;return g(i.formView.showPassword=!i.formView.showPassword)}),d(1," eye "),a()}}function uo(e,n){if(e&1){let t=b();s(0,"spk-icon",56),P("click",function(){F(t);let i=c(2).$implicit;return g(i.formView.showPassword=!i.formView.showPassword)}),d(1," eye-slash "),a()}}function mo(e,n){if(e&1&&(s(0,"spk-form-field")(1,"label",47),d(2),a(),m(3,"input",52),C(4,lo,2,0,"span",53)(5,po,2,0,"spk-icon",51)(6,co,2,0,"spk-icon",54)(7,uo,2,0,"spk-icon",54),a()),e&2){let t,o=c().$implicit;l(),W("for","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),l(),j(" ",(t=o.formView.shortDescription)!==null&&t!==void 0?t:o.formView.name," "),l(),W("id","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),le("formControlName",o.formView.name),u("type",o.formView.showPassword?"text":"password"),l(),T(o.oauthField===o.formView.name?4:5),l(2),T(o.formView.showPassword?6:7)}}function _o(e,n){if(e&1&&(s(0,"spk-tooltip",48)(1,"spk-icon"),d(2,"question"),a()()),e&2){let t=c(3).$implicit;u("message",t.formView.longDescription)}}function Fo(e,n){if(e&1&&d(0),e&2){let t=n.$implicit;j(" ",t," ")}}function go(e,n){if(e&1&&(s(0,"spk-select",57)(1,"label",47),d(2),C(3,_o,3,1,"spk-tooltip",48),a(),m(4,"input",49),a(),C(5,Fo,1,1,"ng-template",null,3,nt)),e&2){let t,o=ie(6);c();let i=At(0),r=c().$implicit;u("options",i)("isClearable",!1)("optionTemplate",o),l(),W("for","destination-",r.formGroupName,"-",r.index,"-",r.asHttpOptions?"http":"other",""),l(),j(" ",(t=r.formView.shortDescription)!==null&&t!==void 0?t:r.formView.name," "),l(),T(r.formView.longDescription?3:-1),l(),W("id","destination-",r.formGroupName,"-",r.index,"-",r.asHttpOptions?"http":"other",""),le("formControlName",r.formView.name)}}function Co(e,n){if(e&1&&(yt(0),C(1,go,7,14)),e&2){let t=c().$implicit,o=Pt(t.formView.loadOptions?t.formView.loadOptions(c(2).injector)():t.formView.options);l(),T(o?1:-1)}}function ho(e,n){if(e&1&&(s(0,"spk-tooltip",48)(1,"spk-icon"),d(2,"question"),a()()),e&2){let t=c(3).$implicit;u("message",t.formView.longDescription)}}function So(e,n){if(e&1&&d(0),e&2){let t=n.$implicit;Gt(" ",t.key," ",t.value?"("+t.value+")":""," ")}}function fo(e,n){if(e&1&&(s(0,"spk-select",59)(1,"label",47),d(2),C(3,ho,3,1,"spk-tooltip",48),a(),m(4,"input",49),a(),C(5,So,1,2,"ng-template",null,4,nt)),e&2){let t,o=ie(6);c();let i=At(0),r=c().$implicit;u("options",i)("asFreeText",!0)("inlineSearch",!0)("optionTemplate",o),l(),W("for","destination-",r.formGroupName,"-",r.index,"-",r.asHttpOptions?"http":"other",""),l(),j(" ",(t=r.formView.shortDescription)!==null&&t!==void 0?t:r.formView.name," "),l(),T(r.formView.longDescription?3:-1),l(),W("id","destination-",r.formGroupName,"-",r.index,"-",r.asHttpOptions?"http":"other",""),le("formControlName",r.formView.name)}}function To(e,n){e&1&&m(0,"spk-progress-bar",58)}function Do(e,n){if(e&1&&(yt(0),C(1,fo,7,15)(2,To,1,0,"spk-progress-bar",58)),e&2){let t=c().$implicit,o=Pt(t.formView.loadOptions?t.formView.loadOptions(c(2).injector)():t.formView.options);l(),T(o?1:2)}}function Eo(e,n){if(e&1&&(s(0,"spk-tooltip",48)(1,"spk-icon"),d(2,"question"),a()()),e&2){let t=c(2).$implicit;u("message",t.formView.longDescription)}}function yo(e,n){if(e&1&&(s(0,"app-size",45)(1,"label",47),d(2),C(3,Eo,3,1,"spk-tooltip",48),a()()),e&2){let t,o=c().$implicit;u("inputType",o.Name)("formControlName",o.formView.name)("customId",`destination-{{ item.formGroupName }}-{{ item.index }}-{{
|
|
2
|
+
item.asHttpOptions ? 'http' : 'other'
|
|
3
|
+
}}`),l(),W("for","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),l(),j(" ",(t=o.formView.shortDescription)!==null&&t!==void 0?t:o.formView.name," "),l(),T(o.formView.longDescription?3:-1)}}function Po(e,n){if(e&1&&(s(0,"spk-tooltip",48)(1,"spk-icon"),d(2,"question"),a()()),e&2){let t=c(2).$implicit;u("message",t.formView.longDescription)}}function Ao(e,n){if(e&1&&(s(0,"spk-form-field")(1,"label",47),d(2),C(3,Po,3,1,"spk-tooltip",48),a(),m(4,"input",60),s(5,"spk-icon",51),d(6,"numpad"),a()()),e&2){let t,o=c().$implicit;l(),W("for","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),l(),j(" ",(t=o.formView.shortDescription)!==null&&t!==void 0?t:o.formView.name," "),l(),T(o.formView.longDescription?3:-1),l(),W("id","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),le("formControlName",o.formView.name)}}function No(e,n){if(e&1&&(s(0,"spk-tooltip",48)(1,"spk-icon"),d(2,"question"),a()()),e&2){let t=c(2).$implicit;u("message",t.formView.longDescription)}}function ko(e,n){if(e&1&&(s(0,"spk-toggle",46)(1,"label",47),d(2),C(3,No,3,1,"spk-tooltip",48),a(),m(4,"input",61),a()),e&2){let t,o=c().$implicit;l(),W("for","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),l(),j(" ",(t=o.formView.shortDescription)!==null&&t!==void 0?t:o.formView.name," "),l(),T(o.formView.longDescription?3:-1),l(),W("id","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),le("formControlName",o.formView.name)}}function Oo(e,n){if(e&1&&(s(0,"spk-tooltip",48)(1,"spk-icon"),d(2,"question"),a()()),e&2){let t=c(2).$implicit;u("message",t.formView.longDescription)}}function Mo(e,n){if(e&1&&d(0),e&2){let t=n.$implicit;j(" ",t," ")}}function $o(e,n){if(e&1&&(s(0,"spk-select",62)(1,"label",47),d(2),C(3,Oo,3,1,"spk-tooltip",48),a(),m(4,"input",63),a(),C(5,Mo,1,1,"ng-template",null,4,nt)),e&2){let t,o=ie(6),i=c().$implicit;u("options",i.formView.options)("selectMultiple",!0)("optionTemplate",o),l(),bt("for","destination-",i.formGroupName,"-",i.index,""),l(),j(" ",(t=i.formView.shortDescription)!==null&&t!==void 0?t:i.formView.name," "),l(),T(i.formView.longDescription?3:-1),l(),le("formControlName",i.formView.name)}}function wo(e,n){if(e&1&&(s(0,"spk-tooltip",48)(1,"spk-icon"),d(2,"question"),a()()),e&2){let t=c(2).$implicit;u("message",t.formView.longDescription)}}function Ro(e,n){if(e&1&&(s(0,"app-timespan",45)(1,"label",47),d(2),C(3,wo,3,1,"spk-tooltip",48),a()()),e&2){let t,o=c().$implicit;u("inputType",o.formView.name)("formControlName",o.formView.name)("customId","destination-"+o.formGroupName+"-"+o.index+"-"+(o.asHttpOptions?"http":"other")),l(),W("for","destination-",o.formGroupName,"-",o.index,"-",o.asHttpOptions?"http":"other",""),l(),j(" ",(t=o.formView.shortDescription)!==null&&t!==void 0?t:o.formView.name," "),l(),T(o.formView.longDescription?3:-1)}}function Io(e,n){if(e&1){let t=b();s(0,"button",64),P("click",function(){F(t);let i=c().$implicit,r=c(2);return g(r.removeFormView(i.formView,0))}),s(1,"spk-icon"),d(2,"x-circle"),a()()}}function xo(e,n){if(e&1&&(s(0,"div",41),X(1,42),C(2,eo,5,17,"app-file-tree",43)(3,no,5,13,"app-file-tree",44)(4,so,8,13,"spk-form-field")(5,mo,8,13,"spk-form-field")(6,Co,2,2)(7,Do,3,2)(8,yo,4,9,"app-size",45)(9,Ao,7,11,"spk-form-field")(10,ko,5,11,"spk-toggle",46)(11,$o,7,9)(12,Ro,4,9,"app-timespan",45),H(),C(13,Io,3,0,"button",32),a()),e&2){let t=n.$implicit;Pe("single-field",t.formGroupName!=="advanced"),l(),u("formGroupName",t.formGroupName),l(),T(t.formView.type==="FileTree"?2:t.formView.type==="FolderTree"?3:t.formView.type==="String"||t.formView.type==="Path"||t.formView.type==="Email"?4:t.formView.type==="Password"?5:t.formView.type==="Enumeration"?6:t.formView.type==="NonValidatedSelectableString"?7:t.formView.type==="Size"?8:t.formView.type==="Integer"?9:t.formView.type==="Boolean"?10:t.formView.type==="Flags"?11:t.formView.type==="Timespan"||t.formView.type==="DateTime"?12:-1),l(11),T(t.formGroupName==="advanced"?13:-1)}}function vo(e,n){if(e&1&&(X(0,22)(1,36),ee(2,Wn,1,9,"ng-container",null,Z),ee(4,Hn,1,9,"ng-container",null,Z),s(6,"app-toggle-card",37),X(7,38),E(8,10),s(9,"spk-menu",31)(10,"button",39),m(11,"spk-icon"),a(),X(12,20),ee(13,zn,3,1,"button",33,Z),H(),a(),y(),H(),ee(15,qn,1,9,"ng-container",null,Z),a(),s(17,"app-toggle-card",37),X(18,38),E(19,11),s(20,"spk-menu",31)(21,"button",39),m(22,"spk-icon"),a(),X(23,20),ee(24,Qn,3,1,"button",33,Z),H(),a(),y(),H(),ee(26,Jn,1,9,"ng-container",null,Z),a(),C(28,xo,14,5,"ng-template",null,2,nt),H()()),e&2){let t=c();l(2),te(t.destinationFormPair().custom),l(2),te(t.destinationFormPair().dynamic),l(2),u("disallowToggle",!0),l(3),u("searchable",!0),l(),u("disabled",t.notSelectedAdvancedFormPair().length===0),l(3),te(t.notSelectedAdvancedFormPair()),l(2),te(t.selectedAdvancedFormPair()),l(2),u("disallowToggle",!0),l(3),u("searchable",!0),l(),u("disabled",t.notSelectedHttpOptions().length===0),l(3),te(t.notSelectedHttpOptions()),l(2),te(t.selectedHttpOptions())}}function bo(e,n){if(e&1){let t=b();s(0,"spk-dialog",65),K("isOpenChange",function(i){F(t);let r=c();return B(r.targetUrlDialogOpen,i)||(r.targetUrlDialogOpen=i),g(i)}),s(1,"header",66)(2,"h2"),R(3,12),a(),s(4,"spk-alert",67),R(5,13),a()(),s(6,"div",68)(7,"spk-form-field"),m(8,"textarea",69),a()(),s(9,"footer",70)(10,"button",24),P("click",function(){F(t);let i=c();return g(i.closeTargetUrlDialog(!1))}),d(11,"Cancel"),a(),s(12,"button",71),P("click",function(){F(t);let i=c();return g(i.closeTargetUrlDialog(!0))}),E(13,14),m(14,"spk-icon"),y(),a()()()}if(e&2){let t=c();V("isOpen",t.targetUrlDialogOpen),u("options",Ze(3,xn)),l(8),u("formControl",t.targetUrlCtrl)}}var ht=new ge,Zt=(e={destinations:[]})=>ht.group({destinations:ht.array(e.destinations)}),en=({key:e,customGroup:n,dynamicGroup:t,advancedGroup:o})=>ht.group({destinationType:ht.control(e),custom:n,dynamic:t,advanced:o}),Rt=class e{#n=$(pe);#t=$(Ee);#o=$(Ut);#i=$(ve);#e=$(he);#r=$(Bt);injector=$(xt);formRef=we.required("formRef");destinationForm=this.#e.destinationForm;destinationFormPair=this.#e.destinationFormPair;selectedAdvancedFormPair=this.#e.selectedAdvancedFormPair;notSelectedAdvancedFormPair=this.#e.notSelectedAdvancedFormPair;selectedHttpOptions=this.#e.selectedHttpOptions;notSelectedHttpOptions=this.#e.notSelectedHttpOptions;destinationOptions=this.#e.destinationOptions;destinationFormSignal=this.#e.destinationFormSignal;destinationCount=v(()=>this.destinationFormSignal()?.destinations?.length??0);successfulTest=D(!1);destinationTypeOptionsInFocus=D(["file","ssh","s3","gcs","googledrive","azure"]);destinationTypeOptions=D(Se.map(n=>({key:n.customKey??n.key,customKey:n.customKey??null,displayName:n.displayName,description:n.description})));destinationTypeOptionsFocused=v(()=>{let n=this.destinationTypeOptionsInFocus(),t=this.destinationTypeOptions();return n.map(o=>t.find(i=>i.key===o))});destinationTypeOptionsNotFocused=v(()=>{let n=this.destinationTypeOptionsInFocus();return this.destinationTypeOptions().filter(o=>!n.includes(o.key))});getFormFieldValue(n,t,o){return((this.destinationForm.controls.destinations.controls?.[n]).controls?.[t]).controls[o].value}addDestinationFormGroup(n){this.#e.addDestinationFormGroup(n)}addAdvancedFormPair(n,t){this.#e.addAdvancedFormPair(n,t)}removeFormView(n,t){this.#e.removeAdvancedFormPair(n,t)}addHttpOption(n,t){this.#e.addHttpOption(n,t)}targetUrl=v(()=>this.#e.getCurrentTargetUrl()[0]);targetUrlCtrl=new pt;targetUrlInitial=D(null);targetUrlDialogOpen=D(!1);openTargetUrlDialog(){let t=this.#e.getCurrentTargetUrl()[0];this.targetUrlCtrl.setValue(t),this.targetUrlInitial.set(t),this.targetUrlDialogOpen.set(!0)}closeTargetUrlDialog(n=!1){this.targetUrlDialogOpen.set(!1);let t=this.targetUrlCtrl.value,o=this.targetUrlInitial();!n||t===o||this.#e.updateFieldsFromTargetUrl(this.targetUrlCtrl.value)}testDestination(n=0){let o=this.#e.getCurrentTargetUrl()[n];o&&this.#i.postApiV1RemoteoperationTest({requestBody:{path:o}}).subscribe({next:()=>{this.successfulTest.set(!0),setTimeout(()=>{this.successfulTest.set(!1)},3e3)},error:i=>{let r=i.error.error.Error;if(this.successfulTest.set(!1),r==="missing-folder"){this.#r.open(Ne,{data:{title:$localize`Create folder`,message:$localize`The remote destination folder does not exist, do you want to create it?`,confirmText:$localize`Create folder`,cancelText:$localize`Cancel`},closed:p=>{p&&this.#i.postApiV1RemoteoperationCreate({requestBody:{path:o}}).subscribe({next:()=>{this.#r.open(Ne,{data:{title:$localize`Folder created`,message:$localize`The remote destination folder was created successfully.`,confirmText:$localize`OK`,cancelText:null},closed:()=>{this.testDestination(n)}})}})}});return}if(r.startsWith("incorrect-cert:")){let p=r.split("incorrect-cert:")[1];this.#r.open(Ne,{maxWidth:"500px",data:{title:$localize`Trust the certificate`,message:$localize`The server is using a certificate that is not trusted.
|
|
4
|
+
If this is a self-signed certificate, you can choose to trust this certificate.
|
|
5
|
+
The server reported the certificate hash: ${p}`,confirmText:$localize`Trust the certificate`,cancelText:$localize`Cancel`},closed:h=>{h&&this.#e.addHttpOptionByName("accept-specified-ssl-hash",p)}});return}if(r.startsWith("incorrect-host-key:")){let p=r.split('incorrect-host-key:"')[1].split('",')[0],h=r.split('accepted-host-key:"')[1].split('",')[0];h?this.#r.open(Ne,{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,
|
|
6
|
+
otherwise you could be the victim of a MAN-IN-THE-MIDDLE attack.
|
|
7
|
+
Do you want to REPLACE your CURRENT host key ${h}
|
|
8
|
+
with the REPORTED host key: ${p}?`,confirmText:$localize`Approve`,cancelText:$localize`Cancel`},closed:N=>{N&&this.#e.addAdvancedFormPairByName("ssh-fingerprint",n,p)}}):this.#r.open(Ne,{maxWidth:"500px",data:{title:$localize`Approve host key?`,message:$localize`No certificate was specified, please verify that the reported host key is correct: ${p}`,confirmText:$localize`Approve`,cancelText:$localize`Cancel`},closed:N=>{N&&this.#e.addAdvancedFormPairByName("ssh-fingerprint",n,p)}});return}this.#r.open(Ne,{maxWidth:"500px",data:{title:$localize`Test connection failed`,message:r,cancelText:$localize`OK`},closed:p=>{}})}})}mapToTargetUrl(n){return _t(n.value)}removeDestinationFormGroup(n){this.destinationForm.controls.destinations.removeAt(n)}displayFn(n){let t=this.destinationOptions().find(o=>o.Key===n);return t?`${t.DisplayName}`:""}goBack(){this.#n.navigate(["general"],{relativeTo:this.#t.parent})}next(){this.#n.navigate(["source-data"],{relativeTo:this.#t.parent})}#s=D("https://duplicati-oauth-handler.appspot.com/").asReadonly();#l=D(Math.random().toString(36).substring(2)+Math.random().toString(36).substring(2)).asReadonly();#a=D(!1);#p=D(null);keyCreation(){}oauthStartTokenCreation(n){this.#a.set(!0);let t=450,o=600,i=this.#s()+"?type="+n+"&token="+this.#l(),r=screen.width/2-t/2,p=screen.height/2-o/2,h=window.open(i,"_blank","height="+o+",width="+t+",menubar=0,status=0,titlebar=0,toolbar=0,left="+r+",top="+p);h?.addEventListener("blur",N=>{console.log("event blur",N)}),h?.addEventListener("beforeunload",N=>{console.log("event beforeunload",N),this.#o.get(this.#s()+"fetch?callback=JSON_CALLBACK",{params:{token:this.#l()}}).pipe(Ye(()=>this.#a.set(!1))).subscribe({next:w=>{console.log("res",w),w?.authid&&this.#p.set(w.authid)}})})}static \u0275fac=function(t){return new(t||e)};static \u0275cmp=se({type:e,selectors:[["app-destination"]],viewQuery:function(t,o){t&1&&Re(o.formRef,Mn,5),t&2&&Ie()},decls:24,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=Ae(n);let t;t=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SPK_ICON: Go back `;let o;o=$localize`${"\uFFFD#22\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#22\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 r;r=$localize`Other destinations`;let p;p=$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:`,p=Ae(p);let h;h=$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:`,h=Ae(h);let N;N=$localize`Edit target URL`;let w;w=$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",""],["option",""],["fieldTemplate",""],["enumOptionTemplate",""],["optionTemplate",""],n,t,o,i,r,p,h,N,w,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"],[3,"searchable"],["spk-button","","type","button",1,"outlined"],["type","button"],[1,"tile",3,"click"],["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","hideShortcuts","showHiddenNodes","selectFiles"],[3,"hideShortcuts","startingPath"],[3,"inputType","formControlName","customId"],[1,"primary","raised"],[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"],[3,"options","isClearable","optionTemplate"],[1,"indeterminate","primary"],["label","key","value","value",3,"options","asFreeText","inlineSearch","optionTemplate"],["type","number",3,"id","formControlName"],["type","checkbox",3,"id","formControlName"],[1,"primary","raised",3,"options","selectMultiple","optionTemplate"],["type","text","id","text",3,"formControlName"],["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(t,o){if(t&1){let i=b();s(0,"form",15,0),P("submit",function(){return F(i),g(o.next())}),s(2,"header")(3,"h3",16),E(4,5),s(5,"div",17),C(6,Gn,4,3,"button",18),s(7,"spk-menu")(8,"button",19),m(9,"spk-icon"),a(),X(10,20),s(11,"button",21),P("click",function(){return F(i),g(o.openTargetUrlDialog())}),m(12,"spk-icon"),a(),H(),a()(),y(),a(),C(13,Ln,3,0,"p"),a(),C(14,Bn,9,1)(15,vo,30,6,"ng-container",22),s(16,"div",23)(17,"button",24),P("click",function(){return F(i),g(o.goBack())}),E(18,6),m(19,"spk-icon"),y(),a(),s(20,"button",25),E(21,7),m(22,"spk-icon"),y(),a()()(),C(23,bo,15,4,"spk-dialog",26)}if(t&2){let i;u("formGroup",o.destinationForm),l(6),T(o.destinationCount()>0?6:-1),l(7),T(o.destinationCount()>0?13:-1),l(),T(o.destinationCount()===0?14:-1),l(),T(!((i=o.destinationFormSignal())==null||i.destinations==null)&&i.destinations.length?15:-1),l(8),T(o.targetUrlDialogOpen()?23:-1)}},dependencies:[ze,Be,de,Ke,Le,Fe,Ue,ct,We,Xe,ut,Wt,Lt,ue,Kt,ce,Ge,st,Vt,rt,me,at,jt,je,mt,zt],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;padding-bottom: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}spk-select[_ngcontent-%COMP%]{--miw: p2r(120)}"],changeDetection:0})};export{_t as a,Se as b,Zt as c,en as d,Rt as e,qt as f,Mt as g,Ot as h,Oe as i,$t as j,Yt as k,wt as l,he as m};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as c}from"./chunk-ZJWHMCU4.js";import{m as v}from"./chunk-
|
|
1
|
+
import{g as c}from"./chunk-ZJWHMCU4.js";import{m as v}from"./chunk-2EOGI5U4.js";import"./chunk-Y5T3G6PP.js";import"./chunk-4B4SNBSE.js";import"./chunk-YRQ33MKD.js";import"./chunk-UO57IKTF.js";import{a as E}from"./chunk-NYZVIDDD.js";import"./chunk-OELZQ6RK.js";import"./chunk-ARQ6YMHX.js";import{a as y}from"./chunk-6OYKPS4F.js";import"./chunk-5242ZMFS.js";import"./chunk-ZVBVR6H4.js";import"./chunk-OQNO5JCJ.js";import"./chunk-KEHATBLP.js";import"./chunk-RHW5QVAY.js";import"./chunk-QTTYDT3P.js";import"./chunk-C4IFBLYB.js";import"./chunk-PX25CWH6.js";import{b as L,c as M,e as N,f as I}from"./chunk-7WCKE7GY.js";import"./chunk-BIHIR35J.js";import{q as G,v as W}from"./chunk-6WLXFV43.js";import"./chunk-DYCJPQSE.js";import"./chunk-TKVTCBLW.js";import"./chunk-FQMZSQUI.js";import"./chunk-2IDHF5MN.js";import"./chunk-OD5LGCQE.js";import{Eb as F,Fb as r,Lb as u,Oa as R,X as T,_a as f,db as C,ic as $,jc as p,kc as l,lb as _,qb as A,ub as o,vb as i,wb as n,zc as P}from"./chunk-GM25ACCR.js";import"./chunk-7CGTOI24.js";var h=()=>["/restore-from-files/destination"],K=()=>["/restore-from-files/encryption"],X=()=>["/restore-from-files/select-files"],w=()=>["/restore-from-files/options"],b=e=>["/restore-draft",e],x=e=>["/restore-draft",e,"options"],z=e=>["/restore",e],B=e=>["/restore",e,"options"];function j(e,a){e&1&&(o(0,"div",8),F(1,0),n(2,"spk-radio"),r(),i(),o(3,"div",8),F(4,1),n(5,"spk-radio"),r(),i(),o(6,"div",8),F(7,2),n(8,"spk-radio"),r(),i(),o(9,"div",8),F(10,3),n(11,"spk-radio"),r(),i()),e&2&&(_("routerLink",p(4,h)),R(3),_("routerLink",p(5,K)),R(3),_("routerLink",p(6,X)),R(3),_("routerLink",p(7,w)))}function U(e,a){if(e&1&&(o(0,"div",8),F(1,4),n(2,"spk-radio"),r(),i(),o(3,"div",8),F(4,5),n(5,"spk-radio"),r(),i()),e&2){let t=u();_("routerLink",l(2,b,t.backupId())),R(3),_("routerLink",l(4,x,t.backupId()))}}function q(e,a){if(e&1&&(o(0,"div",8),F(1,6),n(2,"spk-radio"),r(),i(),o(3,"div",8),F(4,7),n(5,"spk-radio"),r(),i()),e&2){let t=u();_("routerLink",l(2,z,t.backupId())),R(3),_("routerLink",l(4,B,t.backupId()))}}var O=class e{#t=T(L);#e=T(c);#i=E(this.#t.params);#o=E(this.#t.url);backupId=this.#e.backupId;isDraft=this.#e.isDraft;isFileRestore=this.#e.isFileRestore;paramsChanged=P(()=>{let a=this.#i()?.id,t=!!this.#o()?.find(d=>d.path==="restore-draft"),s=!!this.#o()?.find(d=>d.path==="restore-from-files");this.#e.init(a,s,s||t)});static \u0275fac=function(t){return new(t||e)};static \u0275cmp=f({type:e,selectors:[["app-restore-flow"]],features:[$([c,v])],decls:7,vars:1,consts:()=>{let a;a=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_RADIO: Destination `;let t;t=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_RADIO: Encryption `;let s;s=$localize`${"\uFFFD#8\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#8\uFFFD"}:CLOSE_TAG_SPK_RADIO: Select files `;let d;d=$localize`${"\uFFFD#11\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#11\uFFFD"}:CLOSE_TAG_SPK_RADIO: Options `;let g;g=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_RADIO: Select files `;let k;k=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_RADIO: Options `;let D;D=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_RADIO: Select files `;let m;return m=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_RADIO: Options `,[a,t,s,d,g,k,D,m,["step","","routerLinkActive","active",3,"routerLink"]]},template:function(t,s){t&1&&(n(0,"app-status-bar"),o(1,"spk-stepper"),C(2,j,12,8)(3,U,6,6)(4,q,6,6),i(),o(5,"section"),n(6,"router-outlet"),i()),t&2&&(R(2),A(s.isFileRestore()?2:s.isDraft()?3:4))},dependencies:[W,G,y,M,N,I],styles:["[_nghost-%COMP%]{display:block}spk-stepper[_ngcontent-%COMP%]{max-width:31.25rem;margin:2.5rem auto}section[_ngcontent-%COMP%]{max-width:31.25rem;margin:0 auto 2.5rem}"],changeDetection:0})};export{O as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as $}from"./chunk-NYZVIDDD.js";import{a as R}from"./chunk-6OYKPS4F.js";import"./chunk-5242ZMFS.js";import"./chunk-ZVBVR6H4.js";import"./chunk-OQNO5JCJ.js";import"./chunk-KEHATBLP.js";import"./chunk-RHW5QVAY.js";import"./chunk-QTTYDT3P.js";import"./chunk-C4IFBLYB.js";import"./chunk-PX25CWH6.js";import{b as A,e as N}from"./chunk-7WCKE7GY.js";import"./chunk-BIHIR35J.js";import{a as B,g as O}from"./chunk-6WLXFV43.js";import{b as k}from"./chunk-DYCJPQSE.js";import"./chunk-TKVTCBLW.js";import"./chunk-FQMZSQUI.js";import"./chunk-2IDHF5MN.js";import"./chunk-OD5LGCQE.js";import{$b as L,Eb as _,Fb as c,Gb as u,Jb as T,Kb as I,Oa as i,X as m,Zb as E,_a as C,db as p,qb as s,rb as f,sa as l,sb as S,tb as g,ub as F,vb as a,wb as r,yc as M}from"./chunk-GM25ACCR.js";import"./chunk-7CGTOI24.js";function b(e,t){e&1&&u(0,2,1)}function P(e,t){e&1&&u(0,2,2)}function h(e,t){e&1&&u(0,2,3)}function v(e,t){e&1&&u(0,2,4)}function U(e,t){if(e&1&&(E(0),r(1,"br")),e&2){let n=t.$implicit;L(" ",n," ")}}var D=class e{#t=m(k);#e=m(A);#n=$(this.#e.params);runId=M(()=>this.#n()?.runId);offset=l(0);status=l("starting");messageLog=l([]);interval=setInterval(()=>{this.#t.getApiV1CommandlineByRunid({runid:this.runId(),offset:this.offset(),pagesize:100}).subscribe(t=>{this.offset.set(t.Count),this.evalStatus(t),this.messageLog.update(n=>[...n,...t.Items])})},1e3);evalStatus(t){t.Started===!0&&t.Finished===!0&&(this.status.set("finished"),clearInterval(this.interval)),t.Started===!0&&t.Finished===!1&&this.status.set("started")}abort(){this.#t.postApiV1CommandlineByRunidAbort({runid:this.runId()}).subscribe({next:t=>{this.status.set("aborted"),clearInterval(this.interval)}})}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=C({type:e,selectors:[["app-commandline-result"]],decls:18,vars:4,consts:()=>{let t;t=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_ICON: Back `;let n;n=$localize` Running commandline task... ${"\uFFFD#8\uFFFD"}:START_TAG_BUTTON:Abort${"\uFFFD/#8\uFFFD"}:CLOSE_TAG_BUTTON:`;let o;return o=$localize`${"\uFFFD*11:1\uFFFD"}:START_BLOCK_IF: Starting... ${"[\uFFFD/*11:1\uFFFD|\uFFFD/*12:2\uFFFD|\uFFFD/*13:3\uFFFD|\uFFFD/*14:4\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD*12:2\uFFFD"}:START_BLOCK_IF_1: Started! ${"[\uFFFD/*11:1\uFFFD|\uFFFD/*12:2\uFFFD|\uFFFD/*13:3\uFFFD|\uFFFD/*14:4\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD*13:3\uFFFD"}:START_BLOCK_IF_2: Finished! ${"[\uFFFD/*11:1\uFFFD|\uFFFD/*12:2\uFFFD|\uFFFD/*13:3\uFFFD|\uFFFD/*14:4\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD*14:4\uFFFD"}:START_BLOCK_IF_3: Aborted! ${"[\uFFFD/*11:1\uFFFD|\uFFFD/*12:2\uFFFD|\uFFFD/*13:3\uFFFD|\uFFFD/*14:4\uFFFD]"}:CLOSE_BLOCK_IF:`,o=T(o),[t,n,o,[1,"back"],["type","button","spk-button","","routerLink","
|
|
1
|
+
import{a as $}from"./chunk-NYZVIDDD.js";import{a as R}from"./chunk-6OYKPS4F.js";import"./chunk-5242ZMFS.js";import"./chunk-ZVBVR6H4.js";import"./chunk-OQNO5JCJ.js";import"./chunk-KEHATBLP.js";import"./chunk-RHW5QVAY.js";import"./chunk-QTTYDT3P.js";import"./chunk-C4IFBLYB.js";import"./chunk-PX25CWH6.js";import{b as A,e as N}from"./chunk-7WCKE7GY.js";import"./chunk-BIHIR35J.js";import{a as B,g as O}from"./chunk-6WLXFV43.js";import{b as k}from"./chunk-DYCJPQSE.js";import"./chunk-TKVTCBLW.js";import"./chunk-FQMZSQUI.js";import"./chunk-2IDHF5MN.js";import"./chunk-OD5LGCQE.js";import{$b as L,Eb as _,Fb as c,Gb as u,Jb as T,Kb as I,Oa as i,X as m,Zb as E,_a as C,db as p,qb as s,rb as f,sa as l,sb as S,tb as g,ub as F,vb as a,wb as r,yc as M}from"./chunk-GM25ACCR.js";import"./chunk-7CGTOI24.js";function b(e,t){e&1&&u(0,2,1)}function P(e,t){e&1&&u(0,2,2)}function h(e,t){e&1&&u(0,2,3)}function v(e,t){e&1&&u(0,2,4)}function U(e,t){if(e&1&&(E(0),r(1,"br")),e&2){let n=t.$implicit;L(" ",n," ")}}var D=class e{#t=m(k);#e=m(A);#n=$(this.#e.params);runId=M(()=>this.#n()?.runId);offset=l(0);status=l("starting");messageLog=l([]);interval=setInterval(()=>{this.#t.getApiV1CommandlineByRunid({runid:this.runId(),offset:this.offset(),pagesize:100}).subscribe(t=>{this.offset.set(t.Count),this.evalStatus(t),this.messageLog.update(n=>[...n,...t.Items])})},1e3);evalStatus(t){t.Started===!0&&t.Finished===!0&&(this.status.set("finished"),clearInterval(this.interval)),t.Started===!0&&t.Finished===!1&&this.status.set("started")}abort(){this.#t.postApiV1CommandlineByRunidAbort({runid:this.runId()}).subscribe({next:t=>{this.status.set("aborted"),clearInterval(this.interval)}})}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=C({type:e,selectors:[["app-commandline-result"]],decls:18,vars:4,consts:()=>{let t;t=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_ICON: Back `;let n;n=$localize` Running commandline task... ${"\uFFFD#8\uFFFD"}:START_TAG_BUTTON:Abort${"\uFFFD/#8\uFFFD"}:CLOSE_TAG_BUTTON:`;let o;return o=$localize`${"\uFFFD*11:1\uFFFD"}:START_BLOCK_IF: Starting... ${"[\uFFFD/*11:1\uFFFD|\uFFFD/*12:2\uFFFD|\uFFFD/*13:3\uFFFD|\uFFFD/*14:4\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD*12:2\uFFFD"}:START_BLOCK_IF_1: Started! ${"[\uFFFD/*11:1\uFFFD|\uFFFD/*12:2\uFFFD|\uFFFD/*13:3\uFFFD|\uFFFD/*14:4\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD*13:3\uFFFD"}:START_BLOCK_IF_2: Finished! ${"[\uFFFD/*11:1\uFFFD|\uFFFD/*12:2\uFFFD|\uFFFD/*13:3\uFFFD|\uFFFD/*14:4\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD*14:4\uFFFD"}:START_BLOCK_IF_3: Aborted! ${"[\uFFFD/*11:1\uFFFD|\uFFFD/*12:2\uFFFD|\uFFFD/*13:3\uFFFD|\uFFFD/*14:4\uFFFD]"}:CLOSE_BLOCK_IF:`,o=T(o),[t,n,o,[1,"back"],["type","button","spk-button","","routerLink","../",1,"small"],["type","button","spk-button","",1,"small",3,"click"],[1,"status"]]},template:function(n,o){n&1&&(r(0,"app-status-bar"),F(1,"section")(2,"div",3)(3,"button",4),_(4,0),r(5,"spk-icon"),c(),a()(),F(6,"h3"),_(7,1),F(8,"button",5),I("click",function(){return o.abort()}),a(),c(),a(),F(9,"div",6),_(10,2),p(11,b,1,0)(12,P,1,0)(13,h,1,0)(14,v,1,0),c(),a(),F(15,"code"),S(16,U,2,1,null,null,f),a()()),n&2&&(i(11),s(o.status()==="starting"?11:-1),i(),s(o.status()==="started"?12:-1),i(),s(o.status()==="finished"?13:-1),i(),s(o.status()==="aborted"?14:-1),i(2),g(o.messageLog()))},dependencies:[R,B,O,N],styles:["[_nghost-%COMP%]{display:block}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;padding:2.5rem;gap:1.25rem}code[_ngcontent-%COMP%]{background-color:var(--grey-800);color:var(--grey-100);padding:2.5rem 2.5rem 2.5rem 1.5rem;border-radius:var(--shape-3);overflow:auto;white-space:pre}"],changeDetection:0})};export{D as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as a,d as b,e as c}from"./chunk-
|
|
1
|
+
import{c as a,d as b,e as c}from"./chunk-2EOGI5U4.js";import"./chunk-Y5T3G6PP.js";import"./chunk-4B4SNBSE.js";import"./chunk-YRQ33MKD.js";import"./chunk-UO57IKTF.js";import"./chunk-NYZVIDDD.js";import"./chunk-OELZQ6RK.js";import"./chunk-ARQ6YMHX.js";import"./chunk-RHW5QVAY.js";import"./chunk-QTTYDT3P.js";import"./chunk-7WCKE7GY.js";import"./chunk-BIHIR35J.js";import"./chunk-6WLXFV43.js";import"./chunk-DYCJPQSE.js";import"./chunk-TKVTCBLW.js";import"./chunk-2IDHF5MN.js";import"./chunk-GM25ACCR.js";import"./chunk-7CGTOI24.js";export{a as createDestinationForm,b as createDestinationFormGroup,c as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as ae}from"./chunk-N35UIMLP.js";import{m as le}from"./chunk-
|
|
1
|
+
import{a as ae}from"./chunk-N35UIMLP.js";import{m as le}from"./chunk-2EOGI5U4.js";import{a as ie,b as se}from"./chunk-Y5T3G6PP.js";import"./chunk-4B4SNBSE.js";import"./chunk-YRQ33MKD.js";import"./chunk-UO57IKTF.js";import"./chunk-NYZVIDDD.js";import"./chunk-OELZQ6RK.js";import"./chunk-ARQ6YMHX.js";import"./chunk-RHW5QVAY.js";import{c as Z,e as J,h as ee,j as ne,s as te,t as oe}from"./chunk-QTTYDT3P.js";import{b as V,d as q}from"./chunk-7WCKE7GY.js";import"./chunk-BIHIR35J.js";import{a as Y,g as H,l as Q,t as j}from"./chunk-6WLXFV43.js";import"./chunk-DYCJPQSE.js";import"./chunk-TKVTCBLW.js";import"./chunk-2IDHF5MN.js";import{Ab as M,Eb as S,Fb as O,Gb as r,Kb as I,Lb as c,Oa as p,Va as v,Wb as U,X as C,Xb as X,_a as K,ca as P,cc as u,da as f,db as N,dc as d,ec as m,jc as W,lb as g,nb as G,qb as F,sa as x,ub as t,vb as i,wb as T,yc as k}from"./chunk-GM25ACCR.js";import"./chunk-7CGTOI24.js";var _e=["formRef"],re=()=>["--skip-files-larger-than","dblock-size","encryption-module","no-encryption","--no-encryption","--exclude-files-attributes","keep-time","keep-versions","retention-policy"];function pe(s,a){s&1&&(S(0,1,1),T(1,"spk-icon",20),O())}function ce(s,a){s&1&&(t(0,"p",20),r(1,6),i())}function ue(s,a){s&1&&(t(0,"p"),r(1,7),i())}function de(s,a){if(s&1){let e=M();t(0,"p"),r(1,8),i(),t(2,"app-timespan",18),m("ngModelChange",function(l){P(e);let o=c();return d(o.optionsFields.backupRetentionTime,l)||(o.optionsFields.backupRetentionTime=l),f(l)}),t(3,"label",29),r(4,9),i()()}if(s&2){let e=c();p(2),g("customId","backupRetentionTime"),u("ngModel",e.optionsFields.backupRetentionTime)}}function me(s,a){if(s&1){let e=M();t(0,"p"),r(1,10),i(),t(2,"spk-form-field")(3,"label",30),r(4,11),i(),t(5,"input",31),m("ngModelChange",function(l){P(e);let o=c();return d(o.optionsFields.backupRetentionVersions,l)||(o.optionsFields.backupRetentionVersions=l),f(l)}),i()()}if(s&2){let e=c();p(5),u("ngModel",e.optionsFields.backupRetentionVersions)}}function Se(s,a){s&1&&(t(0,"p"),r(1,12),i())}function Oe(s,a){if(s&1){let e=M();t(0,"p"),r(1,13),i(),t(2,"spk-form-field")(3,"p"),r(4,14),i(),t(5,"label",32),r(6,15),i(),t(7,"input",33),m("ngModelChange",function(l){P(e);let o=c();return d(o.optionsFields.backupRetentionCustom,l)||(o.optionsFields.backupRetentionCustom=l),f(l)}),i()()}if(s&2){let e=c();p(7),u("ngModel",e.optionsFields.backupRetentionCustom)}}var ge=["Bytes","KB","MB","GB","TB","PB"],Te=[{value:"all",name:$localize`Keep all backups`},{value:"time",name:$localize`Delete backups that are older than`},{value:"versions",name:$localize`Keep a specific number of backups`},{value:"smart",name:$localize`Smart backup retention`},{value:"custom",name:$localize`Custom backup retention`}],Ce=1024*1024*1024*2,Pe=1024*1024*5,h=class s{#e=C(le);#n=C(q);#t=C(V);formRef=v.required("formRef");selectedOptions=this.#e.selectedOptions;nonSelectedOptions=this.#e.nonSelectedOptions;isSubmitting=this.#e.isSubmitting;settings=this.#e.settings;optionsFields=this.#e.optionsFields;retentionOptions=x(Te);sizeSplit=k(()=>{let e=this.optionsFields.remoteVolumeSize().match(/^(\d+)(bytes|kb|mb|gb|tb|pb|b)$/i);return{value:e?parseInt(e[1],10):0,unit:e?e[2].toUpperCase():"MB"}});exceededVolumeSize=k(()=>{let a=this.sizeSplit().value,e=this.sizeSplit().unit;if(a==null||e===null||e===void 0)return!1;let n=a*Math.pow(1024,ge.indexOf(e));return n>Ce||n<Pe});goBack(){this.#n.navigate(["schedule"],{relativeTo:this.#t.parent})}submit(){this.#e.submit()}static \u0275fac=function(e){return new(e||s)};static \u0275cmp=K({type:s,selectors:[["app-advanced-options-settings"]],viewQuery:function(e,n){e&1&&U(n.formRef,_e,5),e&2&&X()},decls:30,vars:14,consts:()=>{let a;a=$localize`Options`;let e;e=$localize` Remote volume size ${"\uFFFD*7:1\uFFFD"}:START_BLOCK_IF:${"\uFFFD#1:1\uFFFD"}:START_TAG_SPK_ICON:warning${"\uFFFD/#1:1\uFFFD"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/*7:1\uFFFD"}:CLOSE_BLOCK_IF:`;let n;n=$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#11\uFFFD"}:START_LINK: Read more ${"\uFFFD#12\uFFFD"}:START_TAG_SPK_ICON:arrow-square-out${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/#11\uFFFD"}:CLOSE_LINK:`;let l;l=$localize`Backup retention`;let o;o=$localize`${"\uFFFD#26\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#26\uFFFD"}:CLOSE_TAG_SPK_ICON: Go back `;let E;E=$localize`${"\uFFFD#29\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#29\uFFFD"}:CLOSE_TAG_SPK_ICON: Submit `;let b;b=$localize` The chosen size is outside the recommended range. This may cause performance issues, excessively large temporary files or other problems. `;let A;A=$localize`Nothing will be deleted. The backup size will grow with each change.`;let R;R=$localize`If at least one newer backup is found, all backups older than this date are deleted.`;let y;y=$localize`Time to keep versions`;let $;$=$localize`Once there are more backups than the specified number, the oldest backups are deleted.`;let w;w=$localize`Number of versions`;let D;D=$localize` Over time backups will be deleted automatically. There will remain one backup for each of the last 7 days, each of the last 4 weeks, each of the last 12 months. There will always be at least one remaining backup. `;let B;B=$localize` Enter a retention strategy manually. Placeholders are D/W/Y for days/weeks/years and U for unlimited. The syntax is: 7D:1D,4W:1W,36M:1M. This example keeps one backup for each of the next 7 days, one for each of the next 4 weeks, and one for each of the next 36 months. This can also be written as 1W:1D,1M:1W,3Y:1M. `;let L;L=$localize`Once there are more backups than the specified number, the oldest backups are deleted.`;let z;return z=$localize`Retention expression`,[a,e,n,l,o,E,b,A,R,y,$,w,D,B,L,z,[1,"title-30"],[1,"remote-volume-wrap"],[3,"ngModelChange","customId","ngModel"],["for","size"],[1,"warning"],["href","https://forum.duplicati.com/t/choosing-sizes-in-duplicati/17683","target","_blank",1,"spk-primary"],["suffix",""],["value","value","label","name",3,"options","inlineSearch","isClearable"],["type","text",3,"ngModelChange","ngModel"],[3,"optionsChange","options","hiddenOptions"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","",1,"raised","primary",3,"click"],["for","backupRetentionTime"],["for","backupRetentionVersions"],["type","number","id","backupRetentionVersions",3,"ngModelChange","ngModel"],["for","backupRetentionCustom"],["type","text","id","backupRetentionCustom",3,"ngModelChange","ngModel"]]},template:function(e,n){e&1&&(t(0,"section")(1,"h3",16),r(2,0),i(),t(3,"div",17)(4,"app-size",18),m("ngModelChange",function(o){return d(n.optionsFields.remoteVolumeSize,o)||(n.optionsFields.remoteVolumeSize=o),o}),t(5,"label",19),S(6,1),N(7,pe,2,0,"spk-icon",20),O(),i()(),N(8,ce,2,0,"p",20),t(9,"p"),S(10,2),t(11,"a",21),T(12,"spk-icon",22),i(),O(),i()(),t(13,"spk-select",23)(14,"label",19),r(15,3),i(),t(16,"input",24),m("ngModelChange",function(o){return d(n.optionsFields.backupRetention,o)||(n.optionsFields.backupRetention=o),o}),i()(),N(17,ue,2,0,"p")(18,de,5,2)(19,me,6,1)(20,Se,2,0,"p")(21,Oe,8,1),t(22,"app-options-list",25),m("optionsChange",function(o){return d(n.settings,o)||(n.settings=o),o}),i(),t(23,"div",26)(24,"button",27),I("click",function(){return n.goBack()}),S(25,4),T(26,"spk-icon"),O(),i(),t(27,"button",28),I("click",function(){return n.submit()}),S(28,5),T(29,"spk-icon"),O(),i()()()),e&2&&(p(4),g("customId","size"),u("ngModel",n.optionsFields.remoteVolumeSize),p(3),F(n.exceededVolumeSize()?7:-1),p(),F(n.exceededVolumeSize()?8:-1),p(5),g("options",n.retentionOptions())("inlineSearch",!0)("isClearable",!1),p(3),u("ngModel",n.optionsFields.backupRetention),p(),F(n.optionsFields.backupRetention()==="all"?17:n.optionsFields.backupRetention()==="time"?18:n.optionsFields.backupRetention()==="versions"?19:n.optionsFields.backupRetention()==="smart"?20:n.optionsFields.backupRetention()==="custom"?21:-1),p(5),u("options",n.settings),g("hiddenOptions",W(13,re)),p(5),G("loader",n.isSubmitting()))},dependencies:[te,Z,ne,J,ee,oe,ae,H,Y,j,ie,se,Q],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:32.5rem;padding:2.5rem}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;padding-bottom:1.5rem}.form-column[_ngcontent-%COMP%]{display:flex;flex-direction:column}.form-column[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.form-column[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{font-size:1rem}.field-row[_ngcontent-%COMP%]{display:grid;align-items:flex-end;grid-template-columns:1fr 2.5rem;gap:.5rem}.form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:3fr 1fr;gap:.5rem;align-items:flex-end}.form-wrap[_ngcontent-%COMP%]{display:grid;grid-template-columns:2fr 2.5rem;gap:.5rem;align-items:flex-end}.remote-volume-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.remote-volume-wrap[_ngcontent-%COMP%] p.warning[_ngcontent-%COMP%]{color:#7d7d00}.row-inputs[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.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}spk-select[_ngcontent-%COMP%]{--miw: p2r(120)}"],changeDetection:0})};export{h as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{m as re}from"./chunk-2EOGI5U4.js";import"./chunk-Y5T3G6PP.js";import"./chunk-4B4SNBSE.js";import"./chunk-YRQ33MKD.js";import"./chunk-UO57IKTF.js";import{a as St}from"./chunk-NYZVIDDD.js";import{a as gt}from"./chunk-HPSQUH4S.js";import{a as Z}from"./chunk-OELZQ6RK.js";import{a as ct}from"./chunk-OPC7T2MU.js";import"./chunk-ARQ6YMHX.js";import{a as pt}from"./chunk-6OYKPS4F.js";import"./chunk-5242ZMFS.js";import"./chunk-ZVBVR6H4.js";import"./chunk-OQNO5JCJ.js";import"./chunk-KEHATBLP.js";import"./chunk-RHW5QVAY.js";import{c as J,e as Y,h as ee,l as dt,s as te,t as ne}from"./chunk-QTTYDT3P.js";import"./chunk-C4IFBLYB.js";import{a as nt}from"./chunk-PX25CWH6.js";import"./chunk-7WCKE7GY.js";import"./chunk-BIHIR35J.js";import{A as _t,a as q,b as j,g as K,k as it,l as Q,p as ot,q as st,r as at,t as rt,z as lt}from"./chunk-6WLXFV43.js";import{b as v}from"./chunk-DYCJPQSE.js";import"./chunk-TKVTCBLW.js";import"./chunk-FQMZSQUI.js";import"./chunk-2IDHF5MN.js";import"./chunk-OD5LGCQE.js";import{$b as W,A as k,Ab as P,E as I,Eb as z,Fb as U,Gb as r,Hb as se,Ib as ae,Jb as Ze,Kb as S,La as qe,Lb as p,Oa as l,Ob as Je,R as V,Va as je,Wb as Ye,X as u,Xb as et,Zb as R,_a as L,_b as B,a as Be,b as We,c as He,ca as m,cc as y,da as C,db as f,dc as G,ec as A,ib as Ke,ic as tt,jb as Qe,jc as H,lb as h,n as w,nb as N,qb as E,sa as c,ub as i,vb as o,wb as O,yc as $,zc as b}from"./chunk-GM25ACCR.js";import"./chunk-7CGTOI24.js";var F=class s{#e=u(v);#i=St(this.#e.getApiV1Serversettings());#t=c(void 0);serverSettings=$(()=>this.#t()||this.#i());refreshServerSettings(){this.#e.getApiV1Serversettings().subscribe({next:e=>{this.#t.set(e)}})}static \u0275fac=function(t){return new(t||s)};static \u0275prov=V({token:s,factory:s.\u0275fac,providedIn:"root"})};var mt=["formRef"],Ct=()=>[import("./chunk-QBYHBPBT.js").then(s=>s.OptionsListComponent)];function Et(s,e){s&1&&(i(0,"spk-alert",3),r(1,1),o())}function ft(s,e){if(s&1){let t=P();i(0,"app-options-list",5),A("optionsChange",function(a){m(t);let d=p();return G(d.settings,a)||(d.settings=a),C(a)}),o()}if(s&2){let t=p();y("options",t.settings),h("hasFreeTextSettings",!0)}}var Nt=["Bytes","KB","MB","GB","TB","PB"],D=class s{#e=u(re);#i=u(F);#t=u(v);formRef=je.required("formRef");settings=this.#e.settings;isSubmitting=c(!1);isLoadingOptions=c(!0);saved=c(!1);sizeOptions=c(Nt);lastRecievedServerSettings=c({});serverSettingsEffect=b(()=>{let e=this.#i.serverSettings();if(e===void 0)return;this.lastRecievedServerSettings.set(e),this.isLoadingOptions.set(!0);let t=Object.entries(e);t.forEach(([n,a],d)=>{if(n.startsWith("--")){let T=n.replace("--","");this.settings.update(g=>(g.some(M=>M.Name===T)||g.push({Name:T,Value:a}),g))}d===t.length-1&&this.isLoadingOptions.set(!1)})});submit(){this.isSubmitting.set(!0);let e=this.settings(),t=this.lastRecievedServerSettings(),n=e.map(g=>g.Name),d=Object.keys(t).filter(g=>!n.includes(g.replace("--",""))),T=e.reduce((g,M)=>(g[`--${M.Name}`]=M.Value,g),{});d.forEach(g=>{T[g]=null}),this.#t.patchApiV1Serversettings({requestBody:T}).pipe(I(()=>this.isSubmitting.set(!1))).subscribe({next:()=>{this.#i.refreshServerSettings(),this.saved.set(!0),setTimeout(()=>{this.saved.set(!1)},3e3)}})}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=L({type:s,selectors:[["app-advanced-options-settings"]],viewQuery:function(t,n){t&1&&Ye(n.formRef,mt,5),t&2&&et()},features:[tt([re])],decls:8,vars:4,consts:()=>{let e;e=$localize`${"\uFFFD#4\uFFFD"}:START_TAG_SPK_ICON:floppy-disk${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_SPK_ICON: Save settings `;let t;return t=$localize`Settings saved`,[e,t,[1,"actions"],[1,"success"],["spk-button","","type","button",1,"raised","primary",3,"click"],[3,"optionsChange","options","hasFreeTextSettings"]]},template:function(t,n){t&1&&(i(0,"div",2),f(1,Et,2,0,"spk-alert",3),i(2,"button",4),S("click",function(){return n.submit()}),z(3,0),O(4,"spk-icon"),U(),o()(),f(5,ft,1,2),Ke(6,5,Ct)),t&2&&(l(),E(n.saved()?1:-1),l(),N("loader",n.isSubmitting()),l(4),Qe(!n.isLoadingOptions()))},dependencies:[ne,K,q,j],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:40.625rem;justify-self:flex-end}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;justify-content:flex-end;margin-bottom:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-column[_ngcontent-%COMP%]{display:flex;flex-direction:column}.form-column[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.form-column[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{font-size:1rem}.field-row[_ngcontent-%COMP%]{display:grid;align-items:flex-end;grid-template-columns:1fr 2.5rem;gap:.5rem}.form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:3fr 1fr;gap:.5rem;align-items:flex-end}.form-wrap[_ngcontent-%COMP%]{display:grid;grid-template-columns:2fr 2.5rem;gap:.5rem;align-items:flex-end}.remote-volume-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.remote-volume-wrap[_ngcontent-%COMP%] p.warning[_ngcontent-%COMP%]{color:#7d7d00}.row-inputs[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.row-inputs[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1 0}.advanced-option[_ngcontent-%COMP%]{display:grid;gap:.5rem;grid-template-columns:1fr 1fr 40px;align-items:flex-end}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};var x=class s{#e=u(v);#i=u(Z);repeatRegisterTimer=null;state=c("unknown");claimUrl=c(null);registerUrl=c("");status=$(()=>{let e=this.state();return e==="enabled"?"Remote control is enabled but not connected":e==="connected"?"Remote control is connected":e==="registering"?"Registering machine...":e==="registeringfaulted"?"Registration failed":e==="registered"?"Registered, waiting for accept":e==="disabled"?"Remote control is configured but not enabled":e==="unknown"?"...loading...":"Remote control is not set up"});sysInfoEffect=b(()=>{let e=this.#i.systemInfo();e&&this.registerUrl.set(e.RemoteControlRegistrationUrl??"")});#t(e){e.RegistrationUrl&&this.claimUrl.set(e.RegistrationUrl),e.IsConnected?this.state.set("connected"):e.IsEnabled?this.state.set("enabled"):e.CanEnable?this.state.set("disabled"):e.IsRegisteringFaulted?this.state.set("registeringfaulted"):e.IsRegistering?e.RegistrationUrl!=null&&e.RegistrationUrl.trim().length>0?this.state.set("registered"):this.state.set("registering"):this.state.set("inactive");let t=this.state();this.repeatRegisterTimer!==null&&(clearTimeout(this.repeatRegisterTimer),this.repeatRegisterTimer=null),t==="registering"&&(this.repeatRegisterTimer=setTimeout(()=>{this.#e.postApiV1RemotecontrolRegister({requestBody:{RegistrationUrl:""}}).subscribe({next:n=>this.#t(n),error:n=>this.#n(n)})},5e3)),(t==="enabled"||t==="registered")&&(this.repeatRegisterTimer=setTimeout(()=>{this.#e.getApiV1RemotecontrolStatus().subscribe({next:n=>this.#t(n),error:n=>this.#n(n)})},5e3)),e.IsRegistering&&e.CanEnable&&this.#e.deleteApiV1RemotecontrolRegister().subscribe({next:n=>this.#t(n)})}#n(e){this.#e.getApiV1RemotecontrolStatus().subscribe({next:t=>this.#t(t)})}refreshRemoteControlStatus(){this.#e.getApiV1RemotecontrolStatus().subscribe({next:e=>this.#t(e),error:e=>this.#n(e)})}beginRemoteRegistration(){this.state.set("registering"),this.#e.postApiV1RemotecontrolRegister({requestBody:{RegistrationUrl:this.registerUrl()}}).subscribe({next:e=>this.#t(e),error:e=>this.#n(e)})}cancelRemoteRegistration(){this.#e.deleteApiV1RemotecontrolRegister().subscribe({next:e=>this.#t(e),error:e=>this.#n(e)})}enableRemoteControl(){this.#e.postApiV1RemotecontrolEnable().subscribe({next:e=>this.#t(e),error:e=>this.#n(e)})}disableRemoteControl(){this.#e.postApiV1RemotecontrolDisable().subscribe({next:e=>this.#t(e),error:e=>this.#n(e)})}deleteRemoteControl(){let e=this;confirm("Are you sure you want to delete the remote control registration?")&&e.#e.deleteApiV1RemotecontrolRegistration().subscribe({next:t=>e.#t(t),error:t=>e.#n(t)})}static \u0275fac=function(t){return new(t||s)};static \u0275prov=V({token:s,factory:s.\u0275fac,providedIn:"root"})};function ht(s,e){if(s&1){let t=P();i(0,"spk-form-field",10)(1,"input",11),A("ngModelChange",function(a){m(t);let d=p(2);return G(d.registerUrl,a)||(d.registerUrl=a),C(a)}),o()(),i(2,"button",12),S("click",function(){m(t);let a=p(2);return C(a.register())}),r(3,0),o()}if(s&2){let t=p(2);l(),y("ngModel",t.registerUrl)}}function Pt(s,e){if(s&1&&(i(0,"div",8)(1,"label"),r(2,1),o(),i(3,"a",13),R(4),o()()),s&2){let t=p(2);l(3),Je("href",t.claimUrl(),qe),l(),B(t.claimUrl())}}function Ot(s,e){s&1&&(i(0,"div",8)(1,"label"),r(2,2),o()())}function Rt(s,e){if(s&1){let t=P();i(0,"button",12),S("click",function(){m(t);let a=p(2);return C(a.cancel())}),r(1,3),o()}}function It(s,e){if(s&1){let t=P();i(0,"button",12),S("click",function(){m(t);let a=p(2);return C(a.disable())}),r(1,4),o()}}function yt(s,e){if(s&1){let t=P();i(0,"button",12),S("click",function(){m(t);let a=p(2);return C(a.enable())}),r(1,5),o(),i(2,"button",14),S("click",function(){m(t);let a=p(2);return C(a.delete())}),r(3,6),o()}}function Gt(s,e){if(s&1&&(i(0,"div",7),f(1,ht,4,1)(2,Pt,5,2,"div",8)(3,Ot,3,0,"div",8)(4,Rt,2,0,"button",9)(5,It,2,0,"button",9)(6,yt,4,0),o()),s&2){let t=p();l(),E(t.state()==="inactive"?1:-1),l(),E(t.state()==="registered"?2:-1),l(),E(t.state()==="registering"?3:-1),l(),E(t.state()==="registering"||t.state()==="registeringfaulted"||t.state()==="registered"?4:-1),l(),E(t.state()==="connected"||t.state()==="enabled"?5:-1),l(),E(t.state()==="disabled"?6:-1)}}var oe=class s{#e=u(x);state=this.#e.state;claimUrl=this.#e.claimUrl;registerUrl=this.#e.registerUrl;ngOnInit(){this.#e.refreshRemoteControlStatus()}cancel(){this.#e.cancelRemoteRegistration()}register(){this.#e.beginRemoteRegistration()}disable(){this.#e.disableRemoteControl()}enable(){this.#e.enableRemoteControl()}delete(){this.#e.deleteRemoteControl()}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=L({type:s,selectors:[["app-remote-control"]],decls:1,vars:1,consts:()=>{let e;e=$localize`Register for remote control`;let t;t=$localize`Machine is now registered, open this link to add it to your account:`;let n;n=$localize`Registering, please wait...`;let a;a=$localize`Cancel registration`;let d;d=$localize`Disable remote control`;let T;T=$localize`Enable remote control`;let g;return g=$localize`Delete remote control setup`,[e,t,n,a,d,T,g,[1,"field-row"],[1,"field-col"],["type","button","spk-button","",1,"raised"],["label","Registration URL","for","remoteControlRegisterUrl"],["type","text","spk-input","","id","remoteControlRegisterUrl","name","remoteControlRegisterUrl",3,"ngModelChange","ngModel"],["type","button","spk-button","",1,"raised",3,"click"],["target","_blank",3,"href"],["type","button","spk-button","",1,"raised","error",3,"click"]]},template:function(t,n){t&1&&f(0,Gt,7,6,"div",7),t&2&&E(n.state()!=="unknown"?0:-1)},dependencies:[te,J,Y,ee,Q],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] button[_ngcontent-%COMP%]{white-space:nowrap}.field-row[_ngcontent-%COMP%]{display:flex;gap:.5rem;width:100%}.field-row[_ngcontent-%COMP%] spk-form-field[_ngcontent-%COMP%], .field-row[_ngcontent-%COMP%] spk-select[_ngcontent-%COMP%]{flex:1 0}"],changeDetection:0})};function ut(...s){let e=c(...s);return Object.defineProperty(e,"value",{get:e.asReadonly(),set:e.set.bind(e)})}var le=()=>({standalone:!0});function At(s,e){s&1&&(i(0,"spk-icon",69),R(1,"check"),o())}function vt(s,e){s&1&&(i(0,"spk-icon",70),R(1,"prohibit"),o())}function $t(s,e){if(s&1){let t=P();i(0,"button",74),S("click",function(){m(t);let a=p(2);return C(a.updatePassphrase())}),r(1,34),o()}if(s&2){let t=p(2);N("loader",t.isUpdating())}}function bt(s,e){if(s&1){let t=P();i(0,"spk-tooltip",73)(1,"button",75),S("click",function(){m(t);let a=p(2);return C(a.updatePassphrase())}),r(2,35),o()()}if(s&2){let t=p(2);l(),N("loader",t.isUpdating()),h("disabled",!0)}}function wt(s,e){if(s&1){let t=P();i(0,"spk-form-field")(1,"label",65),r(2,31),o(),i(3,"input",66),A("ngModelChange",function(a){m(t);let d=p();return G(d.passphrase,a)||(d.passphrase=a),C(a)}),o()(),i(4,"spk-form-field")(5,"label",67),r(6,32),o(),i(7,"input",68),A("ngModelChange",function(a){m(t);let d=p();return G(d.repeatPassphrase,a)||(d.repeatPassphrase=a),C(a)}),o(),f(8,At,2,0,"spk-icon",69)(9,vt,2,0,"spk-icon",70),o(),i(10,"div",48)(11,"button",71),S("click",function(){m(t);let a=p();return C(a.cancelPasswordChange())}),r(12,33),o(),f(13,$t,2,2,"button",72)(14,bt,3,3,"spk-tooltip",73),o()}if(s&2){let t=p();l(3),y("ngModel",t.passphrase),l(4),h("disabled",t.passphrase().length===0),y("ngModel",t.repeatPassphrase),l(),E(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?8:9),l(3),N("loader",t.isUpdating()),l(2),E(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?13:14)}}function kt(s,e){s&1&&(i(0,"spk-icon",76),R(1,"check"),o())}function Lt(s,e){if(s&1){let t=P();i(0,"div",48)(1,"button",71),S("click",function(){m(t);let a=p();return C(a.openPassphraseForm())}),r(2,36),o(),f(3,kt,2,0,"spk-icon",76),o()}if(s&2){let t=p();l(3),E(t.passwordUpdated()?3:-1)}}function Ft(s,e){if(s&1){let t=P();i(0,"spk-form-field")(1,"label",77),r(2,37),o(),i(3,"textarea",78),A("ngModelChange",function(a){m(t);let d=p();return G(d.allowedHostnames,a)||(d.allowedHostnames=a),C(a)}),o()(),i(4,"spk-alert",79),r(5,38),o(),i(6,"button",74),S("click",function(){m(t);let a=p();return C(a.updateAllowedHostnames())}),r(7,39),o()}if(s&2){let t=p();l(3),y("ngModel",t.allowedHostnames),l(3),N("loader",t.updatingAllowedHosts())}}function xt(s,e){if(s&1&&R(0),s&2){let t,n=p();W(" ",(t=n.sysinfo())==null?null:t.ServerVersion," ")}}function Dt(s,e){s&1&&O(0,"spk-progress-bar",53)}function Xt(s,e){if(s&1&&R(0),s&2){let t=e.$implicit;W(" ",t.label," ")}}function Vt(s,e){if(s&1&&R(0),s&2){let t=e.$implicit;W(" ",t.label," ")}}function zt(s,e,t){let n=ut(s),a=n[Be];t?.equal&&(a.equal=t.equal);let d;return n.set=T=>{clearTimeout(d),d=setTimeout(()=>We(a,T),e)},n.update=T=>{clearTimeout(d),d=setTimeout(()=>He(a,T),e)},n}var Ut=[{value:"s",label:$localize`Seconds`},{value:"m",label:$localize`Minutes`},{value:"h",label:$localize`Hours`}],Bt=[{value:"none",label:$localize`System default (information)`},{value:"information",label:$localize`Usage statistics, warnings, errors, and crashes`},{value:"warning",label:$localize`Warnings, errors and crashes`},{value:"error",label:$localize`Errors and crashes`},{value:"crash",label:$localize`Crashes only`},{value:"none",label:$localize`None / disabled`}],_e=class s{#e=u(ct);#i=u(Z);#t=u(v);#n=u(F);#a=u(x);#o=u(nt);#s=this.#o.getItem("locale")??"en-US";sysinfo=this.#i.systemInfo;isDarkMode=this.#e.isDarkMode;editAs=c("list");previousLang=this.#s;langCtrl=c(this.#s);usageStatistics=c("");updatingUsageStatistics=c(!1);remoteControlStatus=this.#a.status;updatingChannel=c(!1);updateChannel=c("");setNewChannel(e){let t=this.updateChannel();this.updateChannel.set(e),this.#t.patchApiV1Serversettings({requestBody:{"update-channel":e}}).pipe(I(()=>this.updatingChannel.set(!1)),k(()=>(this.updateChannel.set(t),w(null)))).subscribe()}allowRemoteAccess=c(!1);allowedHostnames=c("");loadedAllowedHostnames=c("");updatingRemoteAccess=c(!1);updatingAllowedHosts=c(!1);updateRemoteAccess(){let e=this.allowRemoteAccess(),t=!e;this.allowRemoteAccess.set(t),this.#t.patchApiV1Serversettings({requestBody:{"server-listen-interface":t?"any":"loopback"}}).pipe(I(()=>this.updatingRemoteAccess.set(!1)),k(()=>(this.allowRemoteAccess.set(e),w(null)))).subscribe()}updateAllowedHostnames(){let e=this.loadedAllowedHostnames(),t=this.allowedHostnames();this.updatingAllowedHosts.set(!0),this.#t.patchApiV1Serversettings({requestBody:{"server-listen-interface":"any","allowed-hostnames":t}}).pipe(I(()=>this.updatingAllowedHosts.set(!1)),k(()=>(this.allowedHostnames.set(e),w(null)))).subscribe()}updatingDisableTrayIconLogin=c(!1);disableTrayIconLogin=c(!1);saveDisableTrayIconLogin(){let e=this.disableTrayIconLogin(),t=!e;this.updatingDisableTrayIconLogin.set(!0),this.disableTrayIconLogin.set(t),this.#t.patchApiV1Serversettings({requestBody:{"disable-tray-icon-login":t?"True":"False"}}).pipe(I(()=>this.updatingDisableTrayIconLogin.set(!1)),k(()=>(this.disableTrayIconLogin.set(e),w(null)))).subscribe()}showPassphraseForm=c(!1);isUpdating=c(!1);passphrase=c("");repeatPassphrase=c("");passwordUpdated=c(!1);updatePassphrase(){this.passphrase()===this.repeatPassphrase()&&(this.isUpdating.set(!0),this.#t.patchApiV1Serversettings({requestBody:{"server-passphrase":this.passphrase()}}).pipe(I(()=>this.isUpdating.set(!1))).subscribe({next:()=>{this.showPassphraseForm.set(!1),this.passwordUpdated.set(!0),setTimeout(()=>{this.passwordUpdated.set(!1)},3e3)}}))}openPassphraseForm(){this.showPassphraseForm.set(!0)}cancelPasswordChange(){this.showPassphraseForm.set(!1)}languageOptions=c(gt);usageStatisticsOptions=c(Bt);timeTypeOptions=c(Ut);timeType=c("s");timeValue=zt(void 0,300);timeRange=$(()=>this.timeType()==="h"?[0,24]:[0,60]);timeValueEffect=b(()=>{let e=this.timeValue();this.updateStartupDelay()});updateLocale(e){!e||e===""||e===this.previousLang||(this.#o.setItem("locale",e),window.location.reload())}updateStartupDelay(){let e=this.#n.serverSettings(),t=this.timeValue(),n=this.timeType(),a=`${t}${n}`;typeof t!="number"||a===""||e&&e["startup-delay"]===a||this.#t.patchApiV1Serversettings({requestBody:{"startup-delay":a==="0s"?"":a}}).subscribe()}updateTimeType(e){this.timeType.set(e)}updateUsageStatistics(e){let t=this.usageStatistics();!e||e===""||e===t||(this.usageStatistics.set(e),this.updatingUsageStatistics.set(!0),this.#t.patchApiV1Serversettings({requestBody:{"usage-reporter-level":this.usageStatistics()==="none"?"":this.usageStatistics()}}).pipe(I(()=>this.updatingUsageStatistics.set(!1)),k(()=>(this.usageStatistics.set(t),w(null)))).subscribe())}serverSettingsEffect=b(()=>{let e=this.#n.serverSettings();if(e===void 0)return;let t=e["startup-delay"],n=t.slice(-1),a=t.slice(0,-1),d=["s","m","h"];this.disableTrayIconLogin.set(e["disable-tray-icon-login"]!=="False"),this.updateChannel.set(e["update-channel"]),this.allowRemoteAccess.set(e["server-listen-interface"]==="any"),this.allowedHostnames.set(e["allowed-hostnames"]),this.loadedAllowedHostnames.set(e["allowed-hostnames"]),this.usageStatistics.set(e["usage-reporter-level"]===""?"none":e["usage-reporter-level"]),this.timeType.set(d.includes(n)?n:"s"),this.timeValue.set(parseInt(a==""?"0":a))});setDarkMode(){this.#e.setDarkMode()}setLightMode(){this.#e.setLightMode()}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=L({type:s,selectors:[["app-settings"]],decls:132,vars:45,consts:()=>{let e;e=$localize`Settings`;let t;t=$localize`Configure your backup settings.`;let n;n=$localize`Remote access control`;let a;a=$localize`Color theme`;let d;d=$localize`Customize your application theme`;let T;T=$localize`Passwords`;let g;g=$localize`Change server passphrase`;let M;M=$localize`Language`;let de;de=$localize`Select a language for the platform`;let ce;ce=$localize`Allow remote access (requires restart)`;let pe;pe=$localize` By allowing remote access, the server listens to requests from any machine on your network. If you enable this option, make sure you are always using the computer on a secure firewall protected network. `;let Se;Se=$localize`Allow remote access`;let ge;ge=$localize`Prevent tray icon automatic log-in`;let Te;Te=$localize` By default, the tray icon will open the user interface with a token that unlocks the user interface. This ensures that you can access the user interface from the tray icon, while requiring others to enter a password. If you prefer having to type in the password, even when accessing the user interface from the tray icon, enable this option. `;let ue;ue=$localize`Prevent tray icon automatic log-in`;let me;me=$localize`Update channel`;let Ce;Ce=$localize` Default (${"\uFFFD0\uFFFD"}:INTERPOLATION:) `;let Ee;Ee=$localize`Same as the base install version: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let fe;fe=$localize`Stable`;let Ne;Ne=$localize`Official releases`;let Me;Me=$localize`Beta`;let he;he=$localize` Try out the new features that we are working on. Currently the most stable version available. Test Restore data before using this in production environments. `;let Pe;Pe=$localize` Experimental `;let Oe;Oe=$localize`Specific builds for developers only. Not for use with important data.`;let Re;Re=$localize`Canary`;let Ie;Ie=$localize`Individual builds for developers only. Not for use with important data.`;let ye;ye=$localize`Pause after startup or hibernation`;let Ge;Ge=$localize` Duplicati will run when started, but will remain in paused state for the duration. Duplicati will occupy minimal system resources and no backups will be run. `;let Ae;Ae=$localize`Usage statistics`;let X;X=$localize` Usage reports help us improve the user experience and evaluate impact of new features. We use them to generate ${"\uFFFD#119\uFFFD"}:START_LINK:public usage statistics.${"\uFFFD/#119\uFFFD"}:CLOSE_LINK:${"[\uFFFD#120\uFFFD\uFFFD/#120\uFFFD|\uFFFD#121\uFFFD\uFFFD/#121\uFFFD]"}:LINE_BREAK:${"[\uFFFD#120\uFFFD\uFFFD/#120\uFFFD|\uFFFD#121\uFFFD\uFFFD/#121\uFFFD]"}:LINE_BREAK: All usage reports are sent anonymously and do not contain any personal information. They contain information about hardware and operating system, the type of backend, backup duration, overall size of source data and similar data. They do not contain paths, filenames, usernames, passwords or similar sensitive information. `,X=Ze(X);let ve;ve=$localize`Advanced options`;let $e;$e=$localize`Enter new password`;let be;be=$localize`Repeat password`;let we;we=$localize`Password have to be filled and have to match`;let ke;ke=$localize`Passphrase`;let Le;Le=$localize`Repeat passphrase`;let Fe;Fe=$localize`Cancel`;let xe;xe=$localize` Update passphrase `;let De;De=$localize` Update passphrase `;let Xe;Xe=$localize`Change password`;let Ve;Ve=$localize`Allowed hostnames`;let ze;ze=$localize` To prevent various DNS based attacks, Duplicati limits the allowed hostnames to the ones listed here. Direct IP access and localhost is always allowed. Multiple hostnames can be supplied with a semicolon separator. If any of the allowed hostnames is an asterisk (*), all hostnames are allowed and this feature is disabled. If the field is empty, only IP address and localhost access is allowed. `;let Ue;return Ue=$localize` Update allowed hostnames `,[e,t,n,a,d,T,g,M,de,ce,pe,Se,ge,Te,ue,me,Ce,Ee,fe,Ne,Me,he,Pe,Oe,Re,Ie,ye,Ge,Ae,X,ve,ke,Le,Fe,xe,De,Xe,Ve,ze,Ue,[1,"content"],[1,"title"],[1,"left"],[1,"right"],[1,"themes"],["src","assets/images/light-theme.png","alt","light theme",3,"click"],["src","assets/images/dark-theme.png","alt","dark theme",3,"click"],[1,"right","passphrase-form"],[1,"actions"],["value","value","label","label",3,"options","isClearable","inlineSearch"],["type","text",3,"ngModelChange","ngModel","ngModelOptions"],[1,"right","remote-access-form"],[1,"primary","raised",3,"click"],[1,"indeterminate","primary"],[1,"right","radios"],[1,"radio-option",3,"click"],[1,"primary","raised"],[1,"field-row"],[1,"raised","primary",3,"unit"],["type","range",3,"min","max","ngModel","ngModelOptions"],["label","label","value","value",3,"options","isClearable"],["type","text",3,"ngModelChange","ngModel"],["href","#"],["label","label","value","value",3,"options","isLoading"],[1,"advanced-settings"],["for","password"],["type","password","name","password","autocomplete","disabled","placeholder",$e,"tabindex","1",3,"ngModelChange","ngModel"],["for","repeatPassword"],["type","password","name","repeatPassword","autocomplete","disabled","placeholder",be,"tabindex","2",3,"ngModelChange","disabled","ngModel"],["suffix","",1,"spk-success"],["suffix",""],["spk-button","",3,"click"],["spk-button","",1,"raised","primary",3,"loader"],["message",we,1,"primary"],["spk-button","",1,"raised","primary",3,"click"],["spk-button","",1,"raised","primary",3,"click","disabled"],[1,"spk-success"],["for","allowedHostnames"],["type","text","id","allowedHostnames",3,"ngModelChange","ngModel"],["type","primary"]]},template:function(t,n){if(t&1&&(O(0,"app-status-bar"),i(1,"div",40)(2,"header")(3,"div",41)(4,"h2"),r(5,0),o(),i(6,"p"),r(7,1),o()()(),i(8,"section")(9,"div",42)(10,"h3"),r(11,2),o(),i(12,"p"),R(13),o()(),i(14,"div",43),O(15,"app-remote-control"),o()(),i(16,"section")(17,"div",42)(18,"h3"),r(19,3),o(),i(20,"p"),r(21,4),o()(),i(22,"div",43)(23,"div",44)(24,"img",45),S("click",function(){return n.setLightMode()}),o(),i(25,"img",46),S("click",function(){return n.setDarkMode()}),o()()()(),i(26,"section")(27,"div",42)(28,"h3"),r(29,5),o(),i(30,"p"),r(31,6),o()(),i(32,"div",47),f(33,wt,15,7)(34,Lt,4,1,"div",48),o()(),i(35,"section")(36,"div",42)(37,"h3"),r(38,7),o(),i(39,"p"),r(40,8),o()(),i(41,"div",43)(42,"spk-select",49)(43,"input",50),S("ngModelChange",function(d){return n.updateLocale(d)}),o()()()(),i(44,"section")(45,"div",42)(46,"h3"),r(47,9),o(),i(48,"p"),r(49,10),o()(),i(50,"div",51)(51,"spk-toggle",52),S("click",function(){return n.updateRemoteAccess()}),i(52,"label"),r(53,11),o()(),f(54,Ft,8,3),o()(),i(55,"section")(56,"div",42)(57,"h3"),r(58,12),o(),i(59,"p"),r(60,13),o()(),i(61,"div",43)(62,"spk-toggle",52),S("click",function(){return n.saveDisableTrayIconLogin()}),i(63,"label"),r(64,14),o()()()(),i(65,"section")(66,"div",42)(67,"h3"),r(68,15),o(),i(69,"p"),f(70,xt,1,1),o(),f(71,Dt,1,0,"spk-progress-bar",53),o(),i(72,"div",54)(73,"div",55),S("click",function(){return n.setNewChannel("")}),i(74,"spk-radio",56),r(75,16),o(),i(76,"p"),r(77,17),o()(),i(78,"div",55),S("click",function(){return n.setNewChannel("stable")}),i(79,"spk-radio",56),r(80,18),o(),i(81,"p"),r(82,19),o()(),i(83,"div",55),S("click",function(){return n.setNewChannel("beta")}),i(84,"spk-radio",56),r(85,20),o(),i(86,"p"),r(87,21),o()(),i(88,"div",55),S("click",function(){return n.setNewChannel("experimental")}),i(89,"spk-radio",56),r(90,22),o(),i(91,"p"),r(92,23),o()(),i(93,"div",55),S("click",function(){return n.setNewChannel("canary")}),i(94,"spk-radio",56),r(95,24),o(),i(96,"p"),r(97,25),o()()()()(),O(98,"spk-divider"),i(99,"div",40)(100,"section")(101,"div",42)(102,"h3"),r(103,26),o(),i(104,"p"),r(105,27),o()(),i(106,"div",43)(107,"div",57)(108,"spk-range-slider",58),O(109,"input",59),o(),i(110,"spk-select",60)(111,"input",61),S("ngModelChange",function(d){return n.updateTimeType(d)}),o(),f(112,Xt,1,1,"ng-template"),o()()()(),i(113,"section")(114,"div",42)(115,"h3"),r(116,28),o(),i(117,"p"),z(118,29),O(119,"a",62)(120,"br")(121,"br"),U(),o()(),i(122,"div",43)(123,"spk-select",63)(124,"input",50),S("ngModelChange",function(d){return n.updateUsageStatistics(d)}),o(),f(125,Vt,1,1,"ng-template"),o()()()(),i(126,"div",40)(127,"section")(128,"div",64)(129,"h3"),r(130,30),o(),O(131,"app-advanced-options-settings"),o()()()),t&2){let a,d,T;l(13),B(n.remoteControlStatus()),l(11),N("active",!n.isDarkMode()),l(),N("active",n.isDarkMode()),l(8),E(n.showPassphraseForm()?33:34),l(9),h("options",n.languageOptions())("isClearable",!1)("inlineSearch",!0),l(),h("ngModel",n.langCtrl())("ngModelOptions",H(42,le)),l(8),N("active",n.allowRemoteAccess()),l(3),E(n.allowRemoteAccess()?54:-1),l(8),N("active",n.disableTrayIconLogin()),l(8),E(n.updateChannel()!==""&&((a=n.sysinfo())!=null&&a.ServerVersion)?70:-1),l(),E(n.updatingChannel()?71:-1),l(3),N("active",n.updateChannel()===""),l(),se((d=n.sysinfo())==null?null:d.DefaultUpdateChannel),ae(75),l(2),se((T=n.sysinfo())==null?null:T.ServerVersionType),ae(77),l(2),N("active",n.updateChannel()==="stable"),l(5),N("active",n.updateChannel()==="beta"),l(5),N("active",n.updateChannel()==="experimental"),l(5),N("active",n.updateChannel()==="canary"),l(14),h("unit",n.timeType()),l(),h("min",n.timeRange()[0])("max",n.timeRange()[1])("ngModel",n.timeValue)("ngModelOptions",H(43,le)),l(),h("options",n.timeTypeOptions())("isClearable",!1),l(),h("ngModel",n.timeType()),l(12),h("options",n.usageStatisticsOptions())("isLoading",n.updatingUsageStatistics()),l(),h("ngModel",n.usageStatistics())("ngModelOptions",H(44,le))}},dependencies:[te,J,dt,Y,ee,ne,pt,oe,D,K,st,at,ot,lt,_t,Q,q,it,j,rt],styles:["[_nghost-%COMP%]{display:block}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:0 2rem 2rem}header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:2rem 0;position:sticky;top:0;background:var(--base-level-10);z-index:1000;border-bottom:1px solid var(--base-level-40)}header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}section[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:2rem 0;border-top:1px solid var(--base-level-40)}section[_ngcontent-%COMP%]:first-of-type{border-top:0}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;align-items:flex-start}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] spk-button-group[_ngcontent-%COMP%]{margin-top:.25rem}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-wrap:balance;width:50%}.passphrase-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.passphrase-form[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.remote-access-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.themes[_ngcontent-%COMP%]{display:flex;gap:.5rem}.themes[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-width:240px;border-radius:var(--shape-3);cursor:pointer}.themes[_ngcontent-%COMP%] img.active[_ngcontent-%COMP%]{border:2px solid var(--primary-500)}.radios[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.radio-option[_ngcontent-%COMP%]{cursor:pointer}.radio-option[_ngcontent-%COMP%] spk-radio[_ngcontent-%COMP%]{color:var(--base-level-60);margin-bottom:.25rem}.radio-option[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-wrap:balance;color:var(--base-level-60R)}.field-col[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.field-row[_ngcontent-%COMP%]{display:flex;gap:.5rem;width:100%}.field-row[_ngcontent-%COMP%] spk-form-field[_ngcontent-%COMP%], .field-row[_ngcontent-%COMP%] spk-select[_ngcontent-%COMP%]{flex:1 0}.advanced-settings[_ngcontent-%COMP%]{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;gap:1rem}"],changeDetection:0})};export{zt as debounceSignal,_e as default};
|