@duplicati/ngclient 0.0.137 → 0.0.138
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-23ODVSFI.js +1 -0
- package/chunk-2D26BDYB.js +1 -0
- package/chunk-3ZVSHKLD.js +1 -0
- package/chunk-4DBVVUBO.js +1 -0
- package/chunk-5SXTGTAZ.js +1 -0
- package/chunk-64ZU74CD.js +1 -0
- package/chunk-6DSLFJ4T.js +1 -0
- package/chunk-74BJ4GVA.js +1 -0
- package/chunk-7IBACL6K.js +1 -0
- package/chunk-7QJG4IIT.js +1 -0
- package/{chunk-Y73FO7VJ.js → chunk-BQE7QZIT.js} +1 -1
- package/chunk-CCA5ZCEA.js +1 -0
- package/chunk-CF7KRXOR.js +1 -0
- package/chunk-DG7SFNGT.js +1 -0
- package/chunk-EMXIHCYQ.js +1 -0
- package/chunk-EN6226UP.js +1 -0
- package/chunk-GJXR776M.js +1 -0
- package/{chunk-SYUL4YZN.js → chunk-GKOS3VYR.js} +1 -1
- package/chunk-H52UO57S.js +8 -0
- package/chunk-HDDYOVZL.js +1 -0
- package/chunk-HRSZZWTB.js +1 -0
- package/chunk-IZXB2EWT.js +1 -0
- package/{chunk-JM7VAPIC.js → chunk-J6BHRR34.js} +1 -1
- package/chunk-JI7GCFQB.js +1 -0
- package/chunk-KSQIUDEA.js +1 -0
- package/chunk-LPFSQKIK.js +1 -0
- package/{chunk-7GUJ7DYP.js → chunk-M3CLGZMQ.js} +1 -1
- package/{chunk-7MV7VPDB.js → chunk-MMPTX6PS.js} +1 -1
- package/chunk-N57J64DN.js +3 -0
- package/chunk-NHAGSIVX.js +1 -0
- package/chunk-NZ2KKCDC.js +1 -0
- package/{chunk-5LGMQ3QI.js → chunk-OFFMLGEZ.js} +1 -1
- package/chunk-PZA4FRVJ.js +1 -0
- package/chunk-PZCO6IX3.js +1 -0
- package/{chunk-QD2GV7XN.js → chunk-QRRKPBY6.js} +1 -1
- package/chunk-RCKA5DTC.js +1 -0
- package/chunk-RNMBKZ6Y.js +3 -0
- package/chunk-ULLALJQ2.js +1 -0
- package/{chunk-ETPRQPCV.js → chunk-UT7GWYPR.js} +1 -1
- package/chunk-V6EWWEIG.js +1 -0
- package/chunk-V77N2OUE.js +1 -0
- package/chunk-WHFO4IFB.js +1 -0
- package/chunk-WZNH4JPF.js +1 -0
- package/chunk-WZRDKVOR.js +1 -0
- package/{chunk-EL7ZWMW3.js → chunk-XIOHRQ3X.js} +1 -1
- package/{chunk-WF6EAWTW.js → chunk-ZI2XNFAW.js} +1 -1
- package/index.html +1 -1
- package/main-4FANBYAP.js +1 -0
- package/package.json +1 -1
- package/chunk-2YMUOQLP.js +0 -1
- package/chunk-3B3CD5KI.js +0 -1
- package/chunk-42LUYQ5S.js +0 -1
- package/chunk-4AWC7A44.js +0 -1
- package/chunk-7E4SLHH6.js +0 -1
- package/chunk-A4BYE2OQ.js +0 -1
- package/chunk-BEUZGUTP.js +0 -1
- package/chunk-BUHA4W4I.js +0 -1
- package/chunk-DDOT2PJU.js +0 -3
- package/chunk-FY7P6D7L.js +0 -1
- package/chunk-FZG6OXT3.js +0 -1
- package/chunk-GHXNDRQC.js +0 -1
- package/chunk-HN6NEFVX.js +0 -1
- package/chunk-HYVO7UIG.js +0 -1
- package/chunk-JHBG6CNS.js +0 -1
- package/chunk-KTU3Q35O.js +0 -1
- package/chunk-KZQCOYF7.js +0 -1
- package/chunk-L5Y36SCW.js +0 -1
- package/chunk-MFURKVTP.js +0 -1
- package/chunk-NMNBM72U.js +0 -1
- package/chunk-OZLEURDK.js +0 -6
- package/chunk-P4KFR7NY.js +0 -1
- package/chunk-P4KOC4NP.js +0 -1
- package/chunk-QR64BSPX.js +0 -1
- package/chunk-RIVEONGL.js +0 -1
- package/chunk-RVPCSXUI.js +0 -1
- package/chunk-SMQWGV7N.js +0 -1
- package/chunk-UM3LTU7N.js +0 -1
- package/chunk-VKUSJRIK.js +0 -1
- package/chunk-XIIFTZ5G.js +0 -1
- package/chunk-XPQBJ7EY.js +0 -1
- package/chunk-YONVHISY.js +0 -1
- package/chunk-YR3TOOC3.js +0 -1
- package/chunk-YSJGV5SH.js +0 -1
- package/chunk-ZZNFOL3R.js +0 -1
- package/main-J4GINH4P.js +0 -1
package/chunk-OZLEURDK.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{a as it}from"./chunk-X7SFNRJF.js";import{a as tt,b as nt}from"./chunk-2G6TVFPZ.js";import{a as ue,b as Qe,c as Ze,d as Je}from"./chunk-UM3LTU7N.js";import{h as et}from"./chunk-2YMUOQLP.js";import{a as Ye}from"./chunk-XIIFTZ5G.js";import{a as L}from"./chunk-2BX65XJQ.js";import{a as B}from"./chunk-6JQM2X3B.js";import{a as qe,c as ce,e as de,i as pe,k as je,s as me,t as We}from"./chunk-NSIELNIY.js";import{A as Ue,C as Xe,a as se,e as be,g as _e,l as Ge,o as Re,p as Be,t as Ke,z as ze}from"./chunk-Y5IRBMLB.js";import{h as He}from"./chunk-DNJOKPEL.js";import{ea as Pe}from"./chunk-CWLTHXVS.js";import{$b as G,Ab as q,Ac as Q,Bb as Te,Cb as Se,Db as ie,Eb as N,Hc as $,Ic as Z,Kb as j,Lb as W,Nb as De,Nc as J,Ob as he,Pb as Ie,Qa as l,Qb as E,Qc as Le,Rb as s,Sb as ye,Tb as we,U as te,Vb as Ae,Wb as Oe,Xb as ke,Z as A,ab as ne,bc as oe,da as S,ea as x,ec as p,f as ee,fb as M,gc as w,ha as Ne,hc as ae,jc as Ve,kc as Me,lc as ve,mc as v,na as b,nc as y,oc as d,rc as $e,sb as f,tb as g,tc as re,ub as U,vb as X,vc as le,wb as H,xb as m,yb as _,zb as c}from"./chunk-BTMXQPBB.js";import{a as V}from"./chunk-EUDKD2JW.js";var ot=class n{#t=A(He);#e=A(be);#n=A(B);testDestination(t,e,o,i){return this.#n.hasV2TestOperations()?this.testDestinationv2(t,e,o,i):this.testDestinationv1(t,e,o,i)}testDestinationv2(t,e,o,i){return new ee(a=>{this.#t.postApiV2DestinationTest({requestBody:{DestinationUrl:t,AutoCreate:!1,Options:null}}).subscribe({next:r=>{if(r.Success){this.emitSuccessV2(a,t,e,r);return}this.handleGenericError(a,t,e,r.Error??"Unknown error",i)},error:r=>{let u=r?.error?.body;if(u?.Data?.FolderExists===!1||u?.StatusCode==="missing-folder"){o?this.handleMissingFolder(a,t,e):this.handleGenericError(a,t,e,$localize`The remote destination folder does not exist.`,i);return}if(u?.Data?.HostCertificate){this.handleMissingCertificate(a,t,e,u.Data?.HostCertificate);return}if(u?.Data?.ReportedHostKey){this.handleIncorrectKey(a,t,e,u.Data.ReportedHostKey,u.Data.AcceptedHostKey??null);return}this.handleGenericError(a,t,e,r?.message??"Unknown error",i)}})})}testDestinationv1(t,e,o,i){return new ee(a=>{this.#t.postApiV1RemoteoperationTest({requestBody:{path:t}}).subscribe({next:r=>{a.next({action:"success",targetUrl:t,testAgain:!1,destinationIndex:e}),a.complete()},error:r=>{this.handleDestinationErrorv1(r.message,t,e,o,i).subscribe(u=>{a.next(u)})}})})}handleMissingFolder(t,e,o){this.#e.open(L,{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:i=>{i&&(this.#n.hasV2TestOperations()?this.#t.postApiV2DestinationTest({requestBody:{DestinationUrl:e,AutoCreate:!0,Options:null}}).subscribe({next:a=>{if(a.Success){this.emitSuccessV2(t,e,o,a);return}else this.handleFolderCreateFailure(t,e,o,a.Error??$localize`Unknown error`)},error:a=>{this.handleFolderCreateFailure(t,e,o,a.message??$localize`Unknown error`)}}):this.#t.postApiV1RemoteoperationCreate({requestBody:{path:e}}).subscribe({next:()=>{this.handleFolderCreated(t,e,o)},error:a=>{this.handleFolderCreateFailure(t,e,o,a.message??$localize`Unknown error`)}}))}})}handleFolderCreateFailure(t,e,o,i){this.#e.open(L,{data:{title:$localize`Error creating folder`,message:$localize`The remote destination folder could not be created. ${i}`,confirmText:$localize`OK`,cancelText:null},closed:()=>{t.next({action:"generic-error",targetUrl:e,testAgain:!1,destinationIndex:o}),t.complete()}})}emitSuccessV2(t,e,o,i){t.next({action:"success",targetUrl:e,testAgain:!1,destinationIndex:o,anyFilesFound:!i.Data?.FolderIsEmpty,containsBackup:i.Data?.FolderContainsBackupFiles??void 0,containsEncryptedBackupFiles:i.Data?.FolderContainsEncryptedBackupFiles??void 0}),t.complete()}handleFolderCreated(t,e,o){this.#e.open(L,{data:{title:$localize`Folder created`,message:$localize`The remote destination folder was created successfully.`,confirmText:$localize`OK`,cancelText:null},closed:()=>{t.next({action:"test-again",targetUrl:e,testAgain:!0,destinationIndex:o}),t.complete()}})}reportNoAction(t,e,o){t.next({action:"generic-error",targetUrl:e,testAgain:!1,destinationIndex:o}),t.complete()}handleMissingCertificate(t,e,o,i){this.#e.open(L,{maxWidth:"500px",data:{title:$localize`Trust the certificate`,message:$localize`The server is using a certificate that is not trusted.
|
|
2
|
-
If this is a self-signed certificate, you can choose to trust this certificate.
|
|
3
|
-
The server reported the certificate hash: ${i}`,confirmText:$localize`Trust the certificate`,cancelText:$localize`Cancel`},closed:a=>{if(!a){this.reportNoAction(t,e,o);return}t.next({action:"trust-cert",targetUrl:e,testAgain:!0,certData:i,destinationIndex:o}),t.complete()}})}handleIncorrectKey(t,e,o,i,a){a?this.#e.open(L,{maxWidth:"500px",data:{title:$localize`The host key has changed`,message:$localize`The host key has changed, please check with the server administrator if this is correct,
|
|
4
|
-
otherwise you could be the victim of a MAN-IN-THE-MIDDLE attack.
|
|
5
|
-
Do you want to REPLACE your CURRENT host key ${a}
|
|
6
|
-
with the REPORTED host key: ${i}?`,confirmText:$localize`Approve`,cancelText:$localize`Cancel`},closed:r=>{if(!r){this.reportNoAction(t,e,o);return}t.next({action:"approve-host-key",targetUrl:e,testAgain:!0,reportedHostKey:i,destinationIndex:o}),t.complete()}}):this.#e.open(L,{maxWidth:"500px",data:{title:$localize`Approve host key?`,message:$localize`No certificate was specified, please verify that the reported host key is correct: ${i}`,confirmText:$localize`Approve`,cancelText:$localize`Cancel`},closed:r=>{if(!r){this.reportNoAction(t,e,o);return}t.next({action:"approve-host-key",targetUrl:e,testAgain:!0,reportedHostKey:i,destinationIndex:o}),t.complete()}})}handleGenericError(t,e,o,i,a){function r(){t.next({action:"generic-error",targetUrl:e,testAgain:!1,destinationIndex:o,errorMessage:i}),t.complete()}if(a){r();return}this.#e.open(L,{maxWidth:"500px",data:{title:$localize`Test connection failed`,message:i,cancelText:$localize`OK`},closed:u=>r()})}handleDestinationErrorv1(t,e,o,i,a){return new ee(r=>{if(t==="missing-folder"){i?this.handleMissingFolder(r,e,o):this.handleGenericError(r,e,o,$localize`The remote destination folder does not exist.`,a);return}if(t.startsWith("incorrect-cert:")){let u=t.split("incorrect-cert:")[1];this.handleMissingCertificate(r,e,o,u);return}if(t.startsWith("incorrect-host-key:")){let u=t.split('incorrect-host-key:"')[1].split('",')[0],F=t.split('accepted-host-key:"')[1].split('",')[0];this.handleIncorrectKey(r,e,o,u,F);return}this.handleGenericError(r,e,o,t,a)})}static \u0275fac=function(e){return new(e||n)};static \u0275prov=te({token:n,factory:n.\u0275fac,providedIn:"root"})};var Ce=class n{#t=A(B);supportedDestinationTypes=$(()=>{let t=this.#t.backendModules().map(e=>e.Key).filter(e=>e);return Je.filter(e=>t.includes(e.key))});destinationTypeOptions=$(()=>this.supportedDestinationTypes().map(t=>({key:t.customKey??t.key,customKey:t.customKey??null,displayName:t.displayName,description:t.description})));backendModules=$(()=>this.#t.backendModules()??[]);static \u0275fac=function(e){return new(e||n)};static \u0275prov=te({token:n,factory:n.\u0275fac,providedIn:"root"})};var st=["fileInput"],_t=[[["label"]]],ct=["label"],fe=class n{customId=J();content=b("");readonly=b(!1);placeholder=J("Drop a file here or use the browse button");fileInputRef;onFileSelected(t){let e=t.target;e.files&&e.files.length>0&&this.readFile(e.files[0])}onFileDrop(t){t.preventDefault(),t.dataTransfer?.files&&t.dataTransfer.files.length>0&&this.readFile(t.dataTransfer.files[0])}onDragOver(t){t.preventDefault()}readFile(t){let e=new FileReader;e.onload=()=>{this.content.set(e.result)},e.readAsText(t)}triggerBrowse(){return this.fileInputRef.nativeElement.click(),!1}onChange=()=>{};onTouched=()=>{};onChangeEffect=Z(()=>{this.onChange(this.content())});writeValue(t){this.content.set(t)}registerOnChange(t){this.onChange=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this.readonly.set(t)}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=ne({type:n,selectors:[["app-file-drop-textarea"]],viewQuery:function(e,o){if(e&1&&Ae(st,5),e&2){let i;Oe(i=ke())&&(o.fileInputRef=i.first)}},inputs:{customId:[1,"customId"],placeholder:[1,"placeholder"]},features:[$e([{provide:qe,useExisting:n,multi:!0}])],ngContentSelectors:ct,decls:9,vars:3,consts:()=>{let t;return t=$localize`${"\uFFFD#4\uFFFD"}:START_TAG_SPK_ICON:upload${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_SPK_ICON:`,[["fileInput",""],t,[1,"browse-btn"],["spk-button","","type","button",1,"small","outlined",3,"click"],[1,"textarea-container","textarea-wrap",3,"drop","dragover"],["rows","10",3,"ngModelChange","placeholder","ngModel","disabled"],["type","file",1,"hidden",3,"change"]]},template:function(e,o){if(e&1){let i=N();ye(_t),we(0,0,["ngProjectAs","label",5,["label"]]),_(1,"div",2)(2,"button",3),E("click",function(){return S(i),x(o.triggerBrowse())}),j(3,1),q(4,"spk-icon"),W(),c()(),_(5,"div",4),E("drop",function(r){return S(i),x(o.onFileDrop(r))})("dragover",function(r){return S(i),x(o.onDragOver(r))}),_(6,"textarea",5),ve("ngModelChange",function(r){return S(i),Me(o.content,r)||(o.content=r),x(r)}),c()(),_(7,"input",6,0),E("change",function(r){return S(i),x(o.onFileSelected(r))}),c()}e&2&&(l(6),m("placeholder",o.placeholder()),Ve("ngModel",o.content),m("disabled",o.readonly()))},dependencies:[me,ce,de,pe,se,_e],styles:['[_nghost-%COMP%]{display:grid;grid-template-areas:"label browsebtn" "input input";grid-template-columns:8fr 1fr;gap:.5rem;align-items:flex-end}[_nghost-%COMP%] .browse-btn[_ngcontent-%COMP%]{grid-area:browsebtn}[_nghost-%COMP%] .label[_ngcontent-%COMP%]{grid-area:label;grid-column:1/-1}[_nghost-%COMP%] .textarea-wrap[_ngcontent-%COMP%]{grid-area:input;width:100%;border:none;font:var(--code-20)}[_nghost-%COMP%] .textarea-wrap[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{width:100%;color:var(--base-8);background-color:var(--base-1);border:1px solid var(--base-4);border-radius:var(--shape-3);padding:.5rem;resize:vertical;box-shadow:var(--box-shadow-10)}[_nghost-%COMP%] .textarea-wrap[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%] .dark[_ngcontent-%COMP%]{background-color:var(--base-2)}[_nghost-%COMP%] .hidden[_ngcontent-%COMP%]{display:none}'],changeDetection:0})};var dt=(n,t,e,o)=>({index:n,fieldGroup:"custom",formView:t,destinationType:e,oauthField:o}),Fe=n=>({$implicit:n}),pt=(n,t,e,o)=>({index:n,fieldGroup:"dynamic",formView:t,destinationType:e,oauthField:o}),mt=(n,t,e,o)=>({index:n,formView:t,fieldGroup:"advanced",destinationType:e,oauthField:o});function ut(n,t){n&1&&ie(0)}function Ct(n,t){if(n&1&&M(0,ut,1,0,"ng-container",12),n&2){let e=t.$implicit,o=t.$index;s();let i=G(17);s();let a=d(0),r=d(1);m("ngTemplateOutlet",i)("ngTemplateOutletContext",re(7,Fe,le(2,dt,o,e,a,r.oauthField)))}}function ft(n,t){n&1&&ie(0)}function gt(n,t){if(n&1&&M(0,ft,1,0,"ng-container",12),n&2){let e=t.$implicit,o=t.$index;s();let i=G(17);s();let a=d(0),r=d(1);m("ngTemplateOutlet",i)("ngTemplateOutletContext",re(7,Fe,le(2,pt,o,e,a,r.oauthField)))}}function Tt(n,t){if(n&1){let e=N();j(0,5,1),_(1,"button",13,1),E("click",function(){let i=S(e).$implicit,a=s(2);return x(a.addAdvancedOption(i))}),c(),W()}if(n&2){let e=t.$implicit;l(),De(e.name),he(0)}}function St(n,t){n&1&&ie(0)}function xt(n,t){if(n&1&&M(0,St,1,0,"ng-container",12),n&2){let e=t.$implicit,o=t.$index;s();let i=G(17),a=s(),r=d(0),u=d(1),F=a.getFormView("advanced",e)??a.getDefaultFormView(e);m("ngTemplateOutlet",i)("ngTemplateOutletContext",re(7,Fe,le(2,mt,o,F,r,u.oauthField)))}}function Ft(n,t){n&1&&(_(0,"sup",22),p(1,"*"),c())}function Et(n,t){if(n&1&&(_(0,"spk-icon",23),p(1,"question"),c()),n&2){let e=s(2).$implicit;m("spkTooltip",e.formView.longDescription)}}function Nt(n,t){if(n&1){let e=N();_(0,"app-file-tree",15)(1,"label",21),f(2,Ft,2,0,"sup",22),p(3),f(4,Et,2,1,"spk-icon",23),c(),_(5,"input",24),E("ngModelChange",function(i){S(e);let a=s().$implicit,r=s(2);return x(r.updateFieldValue(a.fieldGroup,a.formView.name,i))}),c()()}if(n&2){let e=s().$implicit,o=d(1),i=d(2),a=d(3),r=d(4),u=d(5);m("startingPath",a)("accepts",e.formView.accepts)("showFiles",!0)("hideShortcuts",!0)("showHiddenNodes",!0)("selectFiles",!0),l(),m("for",u),l(),g(e.formView.isMandatory&&r?2:-1),l(),w(" ",o," "),l(),g(e.formView.longDescription?4:-1),l(),m("id",u)("ngModel",i)}}function Dt(n,t){n&1&&(_(0,"sup",25),p(1,"*"),c())}function ht(n,t){if(n&1&&(_(0,"spk-icon",23),p(1,"question"),c()),n&2){let e=s(2).$implicit;m("spkTooltip",e.formView.longDescription)}}function It(n,t){if(n&1){let e=N();_(0,"app-file-tree",16)(1,"label",21),f(2,Dt,2,0,"sup",25),p(3),f(4,ht,2,1,"spk-icon",23),c(),_(5,"input",24),E("ngModelChange",function(i){S(e);let a=s().$implicit,r=s(2);return x(r.updateFieldValue(a.fieldGroup,a.formView.name,i))}),c()()}if(n&2){let e=s().$implicit,o=d(1),i=d(2),a=d(3),r=d(4),u=d(5);m("hideShortcuts",!0)("startingPath",a),l(),m("for",u),l(),g(e.formView.isMandatory&&r?2:-1),l(),w(" ",o," "),l(),g(e.formView.longDescription?4:-1),l(),m("id",u)("ngModel",i)}}function yt(n,t){n&1&&(_(0,"sup",26),p(1,"*"),c())}function wt(n,t){if(n&1&&(_(0,"spk-icon",23),p(1,"question"),c()),n&2){let e=s(2).$implicit;m("spkTooltip",e.formView.longDescription)}}function At(n,t){n&1&&(_(0,"spk-icon",27),p(1," warning "),c())}function Ot(n,t){n&1&&(_(0,"spk-icon",28),p(1,"x-circle"),c())}function kt(n,t){n&1&&(_(0,"spk-icon",29),p(1,"warning"),c())}function Vt(n,t){if(n&1&&(_(0,"spk-icon",33),p(1," link "),c()),n&2){s();let e=d(9),o=d(10);oe("error",e&&o==="error")("warn",e&&o==="warning"),m("spkTooltip",e)}}function Mt(n,t){n&1&&(_(0,"spk-icon",32),p(1,"envelope"),c())}function vt(n,t){n&1&&(_(0,"spk-icon",32),p(1,"hard-drives"),c())}function $t(n,t){n&1&&(_(0,"spk-icon",32),p(1,"jar"),c())}function Lt(n,t){n&1&&(_(0,"spk-icon",32),p(1,"textbox"),c())}function Pt(n,t){if(n&1){let e=N();_(0,"spk-form-field")(1,"label",21),f(2,yt,2,0,"sup",26),p(3),f(4,wt,2,1,"spk-icon",23),f(5,At,2,0,"spk-icon",27),f(6,Ot,2,0,"spk-icon",28),f(7,kt,2,0,"spk-icon",29),c(),_(8,"input",30),E("keydown",function(i){S(e);let a=s().$implicit,r=s(2);return x(r.onKeyDown(a.fieldGroup,a.formView.name,a.formView.type,i))})("ngModelChange",function(i){S(e);let a=s().$implicit,r=s(2);return x(r.updateFieldValue(a.fieldGroup,a.formView.name,i))}),c(),v(9)(10),f(11,Vt,2,5,"spk-icon",31)(12,Mt,2,0,"spk-icon",32)(13,vt,2,0,"spk-icon",32)(14,$t,2,0,"spk-icon",32)(15,Lt,2,0,"spk-icon",32),c()}if(n&2){let e=s().$implicit,o=d(1),i=d(2),a=d(3),r=d(4),u=d(5),F=s(2);l(),m("for",u),l(),g(e.formView.isMandatory&&r?2:-1),l(),w(" ",o," "),l(),g(e.formView.longDescription?4:-1),l(),g(r&&e.formView.type==="Path"?5:-1),l(),g(e.formView.type=="Hostname"&&!r&&!F.isValidHostname(a)?6:-1),l(),g(e.formView.type=="Bucketname"&&!r&&!F.isValidBucketname(a)?7:-1),l(),m("type",e.formView.type==="Email"?"email":"text")("id",u)("ngModel",i);let O=a,I=F.hasLeadingSlash(O??"");l(),y(I&&(e.formView.doubleSlash==null?null:e.formView.doubleSlash.message)),l(),y(e.formView.doubleSlash==null?null:e.formView.doubleSlash.type),l(),g(e.formView.type==="Path"?11:e.formView.type==="Email"?12:e.formView.type==="Hostname"?13:e.formView.type==="Bucketname"?14:15)}}function bt(n,t){n&1&&(_(0,"sup",34),p(1,"*"),c())}function Gt(n,t){if(n&1&&(_(0,"spk-icon",23),p(1,"question"),c()),n&2){let e=s(2).$implicit;m("spkTooltip",e.formView.longDescription)}}function Rt(n,t){if(n&1){let e=N();_(0,"span",38),E("click",function(){S(e);let i=s(2).$implicit,a=s(2);return x(a.oauthStartTokenCreation(i.destinationType,i.fieldGroup,i.formView.name,i.formView.oauthVersion))}),p(1," AuthID "),c()}}function Bt(n,t){n&1&&(_(0,"spk-icon",32),p(1,"password"),c())}function Kt(n,t){if(n&1){let e=N();_(0,"spk-icon",39),E("click",function(){S(e);let i=s(2).$implicit;return x(i.formView.showPassword=!i.formView.showPassword)}),p(1," eye "),c()}}function zt(n,t){if(n&1){let e=N();_(0,"spk-icon",39),E("click",function(){S(e);let i=s(2).$implicit;return x(i.formView.showPassword=!i.formView.showPassword)}),p(1," eye-slash "),c()}}function Ut(n,t){if(n&1){let e=N();_(0,"spk-form-field")(1,"label",21),f(2,bt,2,0,"sup",34),p(3),f(4,Gt,2,1,"spk-icon",23),c(),_(5,"input",35),E("ngModelChange",function(i){S(e);let a=s().$implicit,r=s(2);return x(r.updateFieldValue(a.fieldGroup,a.formView.name,i))}),c(),f(6,Rt,2,0,"span",36)(7,Bt,2,0,"spk-icon",32),f(8,Kt,2,0,"spk-icon",37)(9,zt,2,0,"spk-icon",37),c()}if(n&2){let e=s().$implicit,o=d(1),i=d(2),a=d(4),r=d(5);l(),m("for",r),l(),g(e.formView.isMandatory&&a?2:-1),l(),w(" ",o," "),l(),g(e.formView.longDescription?4:-1),l(),m("type",e.formView.showPassword?"text":"password")("id",r)("ngModel",i),l(),g(e.oauthField===e.formView.name?6:7),l(2),g(e.formView.showPassword?8:9)}}function Xt(n,t){n&1&&(_(0,"sup",41),p(1,"*"),c())}function Ht(n,t){if(n&1&&(_(0,"spk-icon",23),p(1,"question"),c()),n&2){let e=s(3).$implicit;m("spkTooltip",e.formView.longDescription)}}function qt(n,t){if(n&1&&p(0),n&2){let e=t.$implicit;ae(" ",e.key," ",e.value&&e.value!=e.key?"("+e.value+")":""," ")}}function jt(n,t){if(n&1){let e=N();_(0,"spk-select",40)(1,"label",21),f(2,Xt,2,0,"sup",41),p(3),f(4,Ht,2,1,"spk-icon",23),c(),_(5,"input",24),E("ngModelChange",function(i){S(e);let a=s(2).$implicit,r=s(2);return x(r.updateFieldValue(a.fieldGroup,a.formView.name,i))}),c()(),M(6,qt,1,2,"ng-template",null,2,Q)}if(n&2){let e=G(7);s();let o=d(0),i=s().$implicit,a=d(1),r=d(2),u=d(4),F=d(5);m("options",o)("isClearable",!1)("optionTemplate",e),l(),m("for",F),l(),g(i.formView.isMandatory&&u?2:-1),l(),w(" ",a," "),l(),g(i.formView.longDescription?4:-1),l(),m("id",F)("ngModel",r)}}function Wt(n,t){if(n&1&&(v(0),f(1,jt,8,9)),n&2){let e=s().$implicit,o=y(s(2).mapOptions(e.formView));l(),g(o?1:-1)}}function Qt(n,t){n&1&&(_(0,"sup",44),p(1,"*"),c())}function Zt(n,t){if(n&1&&(_(0,"spk-icon",23),p(1,"question"),c()),n&2){let e=s(3).$implicit;m("spkTooltip",e.formView.longDescription)}}function Jt(n,t){if(n&1&&p(0),n&2){let e=t.$implicit;ae(" ",e.key," ",e.value&&e.value!=e.key?"("+e.value+")":""," ")}}function Yt(n,t){if(n&1){let e=N();_(0,"spk-select",43)(1,"label",21),f(2,Qt,2,0,"sup",44),p(3),f(4,Zt,2,1,"spk-icon",23),c(),_(5,"input",24),E("ngModelChange",function(i){S(e);let a=s(2).$implicit,r=s(2);return x(r.updateFieldValue(a.fieldGroup,a.formView.name,i))}),c()(),M(6,Jt,1,2,"ng-template",null,3,Q)}if(n&2){let e=G(7);s();let o=d(0),i=s().$implicit,a=d(1),r=d(2),u=d(4),F=d(5);m("options",o)("asFreeText",!0)("inlineSearch",!0)("optionTemplate",e),l(),m("for",F),l(),g(i.formView.isMandatory&&u?2:-1),l(),w(" ",a," "),l(),g(i.formView.longDescription?4:-1),l(),m("id",F)("ngModel",r)}}function en(n,t){n&1&&q(0,"spk-progress-bar",42)}function tn(n,t){if(n&1&&(v(0),f(1,Yt,8,10)(2,en,1,0,"spk-progress-bar",42)),n&2){let e=s().$implicit,o=y(s(2).mapOptions(e.formView));l(),g(o?1:2)}}function nn(n,t){n&1&&(_(0,"sup",46),p(1,"*"),c())}function on(n,t){if(n&1&&(_(0,"spk-icon",23),p(1,"question"),c()),n&2){let e=s(2).$implicit;m("spkTooltip",e.formView.longDescription)}}function an(n,t){if(n&1){let e=N();_(0,"app-size",45),E("ngModelChange",function(i){S(e);let a=s().$implicit,r=s(2);return x(r.updateFieldValue(a.fieldGroup,a.formView.name,i))}),_(1,"label",21),f(2,nn,2,0,"sup",46),p(3),f(4,on,2,1,"spk-icon",23),c()()}if(n&2){let e=s().$implicit,o=d(1),i=d(2),a=d(4),r=d(5);m("inputType",e.Name)("ngModel",i)("customId",r),l(),m("for",r),l(),g(e.formView.isMandatory&&a?2:-1),l(),w(" ",o," "),l(),g(e.formView.longDescription?4:-1)}}function rn(n,t){n&1&&(_(0,"sup",47),p(1,"*"),c())}function ln(n,t){if(n&1&&(_(0,"spk-icon",23),p(1,"question"),c()),n&2){let e=s(2).$implicit;m("spkTooltip",e.formView.longDescription)}}function sn(n,t){if(n&1){let e=N();_(0,"spk-form-field")(1,"label",21),f(2,rn,2,0,"sup",47),p(3),f(4,ln,2,1,"spk-icon",23),c(),_(5,"input",48),E("ngModelChange",function(i){S(e);let a=s().$implicit,r=s(2);return x(r.updateFieldValue(a.fieldGroup,a.formView.name,i))}),c(),_(6,"spk-icon",32),p(7,"numpad"),c()()}if(n&2){let e=s().$implicit,o=d(1),i=d(2),a=d(4),r=d(5);l(),m("for",r),l(),g(e.formView.isMandatory&&a?2:-1),l(),w(" ",o," "),l(),g(e.formView.longDescription?4:-1),l(),m("id",r)("ngModel",i)}}function _n(n,t){if(n&1&&(_(0,"spk-icon",23),p(1,"question"),c()),n&2){let e=s(2).$implicit;m("spkTooltip",e.formView.longDescription)}}function cn(n,t){if(n&1){let e=N();_(0,"spk-toggle",49),E("click",function(){S(e);let i=s().$implicit,a=d(2),r=s(2);return x(r.updateFieldValue(i.fieldGroup,i.formView.name,r.isTrue(a)?"false":"true"))}),_(1,"label",21),p(2),f(3,_n,2,1,"spk-icon",23),c()()}if(n&2){let e=s().$implicit,o=d(1),i=d(2),a=d(5),r=s(2);oe("active",r.isTrue(i)),l(),m("for",a),l(),w(" ",o," "),l(),g(e.formView.longDescription?3:-1)}}function dn(n,t){n&1&&(_(0,"sup",51),p(1,"*"),c())}function pn(n,t){if(n&1&&(_(0,"spk-icon",23),p(1,"question"),c()),n&2){let e=s(3).$implicit;m("spkTooltip",e.formView.longDescription)}}function mn(n,t){if(n&1&&p(0),n&2){let e=t.$implicit;ae(" ",e.key," ",e.value&&e.value!=e.key?"("+e.value+")":""," ")}}function un(n,t){if(n&1){let e=N();_(0,"spk-select",50)(1,"label",21),f(2,dn,2,0,"sup",51),p(3),f(4,pn,2,1,"spk-icon",23),c(),_(5,"input",52),E("ngModelChange",function(i){S(e);let a=s(2).$implicit,r=s(2);return x(r.updateFieldValue(a.fieldGroup,a.formView.name,i))}),c()(),M(6,mn,1,2,"ng-template",null,4,Q)}if(n&2){let e=G(7);s();let o=d(0),i=s().$implicit,a=d(1),r=d(2),u=d(4),F=d(5);m("options",o)("selectMultiple",!0)("optionTemplate",e),l(),m("for",F),l(),g(i.formView.isMandatory&&u?2:-1),l(),w(" ",a," "),l(),g(i.formView.longDescription?4:-1),l(),m("ngModel",r)}}function Cn(n,t){if(n&1&&(v(0),f(1,un,8,8)),n&2){let e=s().$implicit,o=y(s(2).mapOptions(e.formView));l(),g(o?1:-1)}}function fn(n,t){n&1&&(_(0,"sup",53),p(1,"*"),c())}function gn(n,t){if(n&1&&(_(0,"spk-icon",23),p(1,"question"),c()),n&2){let e=s(2).$implicit;m("spkTooltip",e.formView.longDescription)}}function Tn(n,t){if(n&1){let e=N();_(0,"app-timespan",45),E("ngModelChange",function(i){S(e);let a=s().$implicit,r=s(2);return x(r.updateFieldValue(a.fieldGroup,a.formView.name,i))}),_(1,"label",21),f(2,fn,2,0,"sup",53),p(3),f(4,gn,2,1,"spk-icon",23),c()()}if(n&2){let e=s().$implicit,o=d(1),i=d(2),a=d(4),r=d(5);m("inputType",e.formView.name)("ngModel",i)("customId",r),l(),m("for",r),l(),g(e.formView.isMandatory&&a?2:-1),l(),w(" ",o," "),l(),g(e.formView.longDescription?4:-1)}}function Sn(n,t){n&1&&(_(0,"sup",55),p(1,"*"),c())}function xn(n,t){if(n&1&&(_(0,"spk-icon",23),p(1,"question"),c()),n&2){let e=s(2).$implicit;m("spkTooltip",e.formView.longDescription)}}function Fn(n,t){if(n&1){let e=N();_(0,"app-file-drop-textarea",54),E("ngModelChange",function(i){S(e);let a=s().$implicit,r=s(2);return x(r.updateFieldValue(a.fieldGroup,a.formView.name,i))}),_(1,"label"),f(2,Sn,2,0,"sup",55),p(3),f(4,xn,2,1,"spk-icon",23),c()()}if(n&2){let e=s().$implicit,o=d(2),i=d(4),a=d(5);m("ngModel",o)("customId",a)("placeholder",e.formView.longDescription),l(2),g(e.formView.isMandatory&&i?2:-1),l(),w(" ",e.formView.shortDescription??e.formView.name," "),l(),g(e.formView.longDescription?4:-1)}}function En(n,t){if(n&1){let e=N();_(0,"button",56),E("click",function(){S(e);let i=s().$implicit,a=s(2);return x(a.removeAdvancedOption(i.formView.name))}),_(1,"spk-icon"),p(2,"x-circle"),c()()}}function Nn(n,t){if(n&1&&(_(0,"div",14),v(1)(2)(3)(4)(5),f(6,Nt,6,12,"app-file-tree",15)(7,It,6,8,"app-file-tree",16)(8,Pt,16,13,"spk-form-field")(9,Ut,10,9,"spk-form-field")(10,Wt,2,2)(11,tn,3,2)(12,an,5,7,"app-size",17)(13,sn,8,6,"spk-form-field")(14,cn,4,5,"spk-toggle",18)(15,Cn,2,2)(16,Tn,5,7,"app-timespan",17)(17,Fn,5,6,"app-file-drop-textarea",19),f(18,En,3,0,"button",20),c()),n&2){let e=t.$implicit;s();let o=d(0),i=s();oe("single-field",e.fieldGroup!=="advanced"),l(),y(e.formView.shortDescription??e.formView.name),l(),y(i.getFieldGroup(o,e.fieldGroup)[e.formView.name]),l();let a=y(i.getFieldValue(e.fieldGroup,e.formView.name));l(),y((a??"").toString().trim()===""),l(),y("destination-"+e.fieldGroup+"-"+e.index+"-"+(e.asHttpOptions?"http":"other")),l(),g(e.formView.type==="FileTree"?6:e.formView.type==="FolderTree"?7:e.formView.type==="String"||e.formView.type==="Path"||e.formView.type==="Email"||e.formView.type==="Hostname"||e.formView.type==="Bucketname"?8:e.formView.type==="Password"?9:e.formView.type==="Enumeration"?10:e.formView.type==="NonValidatedSelectableString"?11:e.formView.type==="Size"?12:e.formView.type==="Integer"?13:e.formView.type==="Boolean"?14:e.formView.type==="Flags"?15:e.formView.type==="Timespan"||e.formView.type==="DateTime"?16:e.formView.type==="FreeText"?17:-1),l(12),g(e.fieldGroup==="advanced"?18:-1)}}function Dn(n,t){if(n&1&&(v(0),X(1,Ct,1,9,"ng-container",null,U),X(3,gt,1,9,"ng-container",null,U),_(5,"spk-toggle-card",6),Te(6,7),j(7,5),_(8,"spk-menu",8)(9,"button",9),q(10,"spk-icon"),c(),Te(11,10),X(12,Tt,3,1,"button",11,U),Se(),c(),W(),Se(),X(14,xt,1,9,"ng-container",null,U),c(),M(16,Nn,19,9,"ng-template",null,0,Q)),n&2){let e=s(),o=d(1);y(e.destinationForm()),l(),H(o.custom),l(2),H(o.dynamic),l(2),m("disallowToggle",!0);let i=e.nonSelectedAdvancedFormViews();l(3),m("searchable",!0),l(),m("disabled",i.length===0),l(3),H(i),l(2),H(e.advancedFormFieldNames())}}var at=class n{#t=A(et);#e=A(B);#n=A(it);#a=A(Ce);injector=A(Ne);targetUrl=Le.required();useBackupState=J(!1);#i=null;destinationType=$(()=>{let t=this.targetUrl();if(!t)return null;let e=ue(t.split("://")[0]);return this.#i=e?.customKey??e?.key,this.#i});destinationForm=b({custom:{},dynamic:{},advanced:{}});advancedFormFieldNames=$(()=>Object.keys(this.destinationForm().advanced));destinationFormConfig=b(null);nonSelectedAdvancedFormViews=$(()=>{let t=this.destinationFormConfig();if(!t)return[];let e=this.advancedFormFieldNames();return t.advanced.filter(o=>e.findIndex(i=>i===o.name)===-1)});destinationTypeEffect=Z(()=>{let t=this.destinationType()??"",e=ue(t),o=e?.key,i=this.#a.backendModules().find(D=>D.Key===o)??{Key:t,DisplayName:t,Description:ue(t).description,Options:[]};if(!i||!i.Options||!t)return;let a=e&&e.oauthField?e.oauthField:null,r=e&&e.customFields?e.customFields:{},u=e&&e.dynamicFields?e.dynamicFields:[],F=e&&e.advancedFields?e.advancedFields:[],O=e&&e.ignoredAdvancedFields?e.ignoredAdvancedFields:[],I={destinationType:t,oauthField:a,custom:[],dynamic:[],advanced:[]};r&&Object.entries(r).forEach(([D,C],h)=>{I.custom.push(V({order:900+h},C))});for(let D=0;D<i.Options.length;D++){let C=i.Options[D];if(C.Deprecated)continue;let h=u.find(T=>T===C.Name||C.Aliases?.includes(T.name)||T.name===C.Name);if(h){let T=C.Aliases?.indexOf(h.name)??-1,K=C.Aliases&&T>-1?C.Aliases[T]:C.Name,R=h&&typeof h!="string",Ee=R?h?.defaultValue??C.DefaultValue:C.DefaultValue,z={name:K,type:C.Type,shortDescription:C.ShortDescription??void 0,longDescription:C.LongDescription??void 0,options:C.ValidValues,order:900+D},ge=R?V(V({},z),h):z;I.dynamic.push(ge)}else{let T=C.Name;if(O.find(Y=>Y===T))continue;let R=F.find(Y=>Y===T||Y.name===T),Ee=R&&typeof R!="string",z={name:T,type:C.Type,shortDescription:C.ShortDescription??void 0,longDescription:C.LongDescription??void 0,options:C.ValidValues,defaultValue:C.DefaultValue,order:900+D},ge=Ee?V(V({},z),R):z;I.advanced.push(ge)}}I.custom.sort((D,C)=>D.order-C.order),I.dynamic.sort((D,C)=>D.order-C.order),I.advanced.sort((D,C)=>D.order-C.order),this.destinationFormConfig.set(I);let P=this.targetUrl();if(!P)return;let k=Ze(P);k&&this.destinationForm.set({custom:k.custom,dynamic:k.dynamic,advanced:k.advanced})});destinationFormEffect=Z(()=>{let t=this.#i,e=this.destinationForm();if(!e||!t)return;let o=Qe({destinationType:t,custom:e.custom,dynamic:e.dynamic,advanced:e.advanced});o&&this.targetUrl.set(o)});getFieldValue(t,e){let i=this.destinationForm()[t][e];return i||null}getFormView(t,e){let i=this.destinationFormConfig()?.[t].find(a=>a.name===e);return i||null}getDefaultFormView(t){return{name:t,type:"String",shortDescription:t,longDescription:$localize`This is an undocumented option.`}}getFieldGroup(t,e){return t[e]}hasLeadingSlash(t){return t?.startsWith("/")??!1}addAdvancedOption(t){let e=this.destinationForm();e.advanced[t.name]=t.defaultValue,this.destinationForm.set(V({},e))}isValidBucketname(t){if(!t)return!1;let e=t.length;return!(e<3||e>63||!/^[a-z0-9.-]+$/.test(t)||!/^[a-z0-9]/.test(t)||!/[a-z0-9]$/.test(t)||/^\d{1,3}(\.\d{1,3}){3}$/.test(t)||/(\.\.)|(\.-)|(-\.)/.test(t))}isValidHostname(t){if(!t||t.length>253)return!1;let e=t.split(".");for(let o of e)if(!o||o.length>63||!/^[a-zA-Z0-9]([-a-zA-Z0-9]*[a-zA-Z0-9])?$/.test(o))return!1;return!0}isTrue(t){if(typeof t=="boolean")return t;if(typeof t=="string"){let e=t.toLowerCase();return e==="true"||e==="1"||e==="yes"||e==="on"}return!1}onKeyDown(t,e,o,i){if(o==="Hostname"||o==="Bucketname"){if(["Backspace","Delete","ArrowLeft","ArrowRight","Tab","Home","End"].includes(i.key))return;if(i.key=="/"||i.key=="\\"||i.key==":"){i.preventDefault();return}}}updateFieldValue(t,e,o){let i=this.destinationForm();i[t][e]=o,this.destinationForm.set(V({},i))}removeAdvancedOption(t){let e=this.destinationForm();delete e.advanced[t],this.destinationForm.set(V({},e))}mapOptions(t){let e=t.loadOptions;if(e)return e(this.injector)();let o=t.options;return o?o.map(i=>({key:i,value:i})):null}#o=b(!1);oauthStartTokenCreation(t,e,o,i){this.#o.set(!0);let a=(i??1)==2?this.#e.defaultOAuthUrlV2():this.#e.defaultOAuthUrl(),r=this.#n.serverSettings()?.["--oauth-url"];if(r&&r.length>0&&(a=r),this.useBackupState()){let C=this.#t.mapFormsToSettings().find(h=>h.Name==="--oauth-url")?.Value;C&&C.length>0&&(a=C)}let u=this.destinationForm().advanced["oauth-url"];u&&u.length>0&&(a=u);let F=`${a}?type=${t}`,O=450,I=600,P=screen.width/2-O/2,k=screen.height/2-I/2,D=window.open(F,"_blank","height="+I+",width="+O+",menubar=0,status=0,titlebar=0,toolbar=0,left="+P+",top="+k);return window.addEventListener("message",C=>{let h=C.data.startsWith("authid:"),T=h?C.data.replace("authid:",""):null;h&&(this.destinationForm.update(K=>(K[e][o]=T,K)),this.#o.set(!1),D?.close())}),!1}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=ne({type:n,selectors:[["app-single-destination"]],inputs:{targetUrl:[1,"targetUrl"],useBackupState:[1,"useBackupState"]},outputs:{targetUrl:"targetUrlChange"},decls:3,vars:3,consts:()=>{let t;t=$localize` Advanced options ${"\uFFFD#8\uFFFD"}:START_TAG_SPK_MENU:${"\uFFFD#9\uFFFD"}:START_TAG_BUTTON: Add advanced option ${"\uFFFD#10\uFFFD"}:START_TAG_SPK_ICON:plus${"\uFFFD/#10\uFFFD"}:CLOSE_TAG_SPK_ICON:${"[\uFFFD/#9\uFFFD|\uFFFD/#1:1\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD#11\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD*13:1\uFFFD"}:START_BLOCK_FOR:${"\uFFFD#1:1\uFFFD"}:START_TAG_BUTTON_1: ${"\uFFFD0:1\uFFFD"}:INTERPOLATION: ${"[\uFFFD/#9\uFFFD|\uFFFD/#1:1\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD/*13:1\uFFFD"}:CLOSE_BLOCK_FOR:${"\uFFFD/#11\uFFFD"}:CLOSE_TAG_NG_CONTAINER:${"\uFFFD/#8\uFFFD"}:CLOSE_TAG_SPK_MENU:`,t=Ie(t);let e;e=$localize`This field is mandatory`;let o;o=$localize`This field is mandatory`;let i;i=$localize`This field is mandatory`;let a;a=$localize`An empty path means storing data in the initial or root folder, which is not recommended`;let r;r=$localize`Hostname is invalid`;let u;u=$localize`Bucket name is invalid`;let F;F=$localize`This field is mandatory`;let O;O=$localize`This field is mandatory`;let I;I=$localize`This field is mandatory`;let P;P=$localize`This field is mandatory`;let k;k=$localize`This field is mandatory`;let D;D=$localize`This field is mandatory`;let C;C=$localize`This field is mandatory`;let h;return h=$localize`This field is mandatory`,[["fieldTemplate",""],["option",""],["enumOptionTemplate",""],["nonValidatedOptionTemplate",""],["optionTemplate",""],t,[1,"advanced-options",3,"disallowToggle"],["title",""],[3,"searchable"],["spk-button","","type","button",1,"outlined","small",3,"disabled"],["menu",""],["type","button"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["type","button",3,"click"],[1,"field-row"],[3,"startingPath","accepts","showFiles","hideShortcuts","showHiddenNodes","selectFiles"],[3,"hideShortcuts","startingPath"],[3,"inputType","ngModel","customId"],[1,"primary","raised",3,"active"],[3,"ngModel","customId","placeholder"],["spk-button","","type","button",1,"outlined"],[3,"for"],["spkTooltip",e],[1,"primary",3,"spkTooltip"],["type","text",3,"ngModelChange","id","ngModel"],["spkTooltip",o],["spkTooltip",i],["spkTooltip",a,1,"warn"],["spkTooltip",r,1,"error"],["spkTooltip",u,1,"warn"],[3,"keydown","ngModelChange","type","id","ngModel"],["prefix","",3,"error","warn","spkTooltip"],["prefix",""],["prefix","",3,"spkTooltip"],["spkTooltip",F],["autocomplete","off",3,"ngModelChange","type","id","ngModel"],["prefix","",1,"link"],["suffix","",1,"clickable"],["prefix","",1,"link",3,"click"],["suffix","",1,"clickable",3,"click"],["label","key","value","value",3,"options","isClearable","optionTemplate"],["spkTooltip",O],[1,"indeterminate","primary"],["label","key","value","value",3,"options","asFreeText","inlineSearch","optionTemplate"],["spkTooltip",I],[3,"ngModelChange","inputType","ngModel","customId"],["spkTooltip",P],["spkTooltip",k],["type","number",3,"ngModelChange","id","ngModel"],[1,"primary","raised",3,"click"],["key","key","value","value",1,"primary","raised",3,"options","selectMultiple","optionTemplate"],["spkTooltip",D],["type","text","id","text",3,"ngModelChange","ngModel"],["spkTooltip",C],[3,"ngModelChange","ngModel","customId","placeholder"],["spkTooltip",h],["spk-button","","type","button",1,"outlined",3,"click"]]},template:function(e,o){if(e&1&&(v(0)(1),f(2,Dn,18,4)),e&2){let i=y(o.destinationType());l();let a=y(o.destinationFormConfig());l(),g(i&&a?2:-1)}},dependencies:[We,ce,je,de,me,pe,Pe,Ye,tt,nt,fe,Ge,_e,se,ze,Re,Ke,Xe,Ue,Be],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.advanced-options[_ngcontent-%COMP%]{position:relative;z-index:1}textarea[_ngcontent-%COMP%] ~ grammarly-extension[_ngcontent-%COMP%]{display:none}spk-select[_ngcontent-%COMP%]{--miw: p2r(120)}[prefix].link[_ngcontent-%COMP%]{cursor:pointer;text-decoration:underline;color:var(--primary-500)}.clickable[_ngcontent-%COMP%]{cursor:pointer;color:var(--primary-500)}label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}label[_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}.field-row.single-field[_ngcontent-%COMP%]{display:block}"],changeDetection:0})};export{ot as a,Ce as b,at as c};
|
package/chunk-P4KFR7NY.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{e as a,f as b}from"./chunk-3B3CD5KI.js";import"./chunk-XIIFTZ5G.js";import"./chunk-BCHZRC5K.js";import"./chunk-LDIZ5E5Z.js";import"./chunk-JM7VAPIC.js";import"./chunk-2BX65XJQ.js";import"./chunk-6JQM2X3B.js";import"./chunk-WXARH2SG.js";import"./chunk-NSIELNIY.js";import"./chunk-FZG6OXT3.js";import"./chunk-2W6BEUGU.js";import"./chunk-JFOXV66M.js";import"./chunk-Y5IRBMLB.js";import"./chunk-DNJOKPEL.js";import"./chunk-CWLTHXVS.js";import"./chunk-WIDMAJIO.js";import"./chunk-BTMXQPBB.js";import"./chunk-EUDKD2JW.js";export{a as createRestoreSelectFilesForm,b as default};
|
package/chunk-P4KOC4NP.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a,b}from"./chunk-3B3CD5KI.js";import"./chunk-XIIFTZ5G.js";import"./chunk-BCHZRC5K.js";import"./chunk-LDIZ5E5Z.js";import"./chunk-JM7VAPIC.js";import"./chunk-2BX65XJQ.js";import"./chunk-6JQM2X3B.js";import"./chunk-WXARH2SG.js";import"./chunk-NSIELNIY.js";import"./chunk-FZG6OXT3.js";import"./chunk-2W6BEUGU.js";import"./chunk-JFOXV66M.js";import"./chunk-Y5IRBMLB.js";import"./chunk-DNJOKPEL.js";import"./chunk-CWLTHXVS.js";import"./chunk-WIDMAJIO.js";import"./chunk-BTMXQPBB.js";import"./chunk-EUDKD2JW.js";export{a as createRestoreOptionsForm,b as default};
|
package/chunk-QR64BSPX.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./chunk-EUDKD2JW.js";var o=[{path:"",redirectTo:"select-files",pathMatch:"full"},{path:"destination",loadComponent:()=>import("./chunk-NMNBM72U.js")},{path:"encryption",loadComponent:()=>import("./chunk-SMQWGV7N.js")},{path:"select-files",loadComponent:()=>import("./chunk-P4KFR7NY.js")},{path:"options",loadComponent:()=>import("./chunk-P4KOC4NP.js")},{path:":taskid/progress",loadComponent:()=>import("./chunk-7E4SLHH6.js")}],t=o;export{t as default};
|
package/chunk-RIVEONGL.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as ne}from"./chunk-X7SFNRJF.js";import{a as pt}from"./chunk-EL7ZWMW3.js";import"./chunk-LDIZ5E5Z.js";import{a as Tt}from"./chunk-V5YSQG4X.js";import{a as St}from"./chunk-L5Y36SCW.js";import"./chunk-MFURKVTP.js";import"./chunk-KZQCOYF7.js";import"./chunk-JM7VAPIC.js";import{a as dt}from"./chunk-2BX65XJQ.js";import"./chunk-RHW5QVAY.js";import{a as Q}from"./chunk-6JQM2X3B.js";import"./chunk-WXARH2SG.js";import{c as Z,e as J,i as Y,m as ct,s as ee,t as te}from"./chunk-NSIELNIY.js";import{a as tt}from"./chunk-FZG6OXT3.js";import"./chunk-2W6BEUGU.js";import"./chunk-JFOXV66M.js";import{A as rt,C as _t,a as H,b as q,e as nt,g as j,k as it,l as K,p as ot,q as st,r as at,t as lt}from"./chunk-Y5IRBMLB.js";import{h as k}from"./chunk-DNJOKPEL.js";import"./chunk-UZK7ABRM.js";import"./chunk-CWLTHXVS.js";import"./chunk-WIDMAJIO.js";import"./chunk-B6OIHB5W.js";import{Ab as I,B as b,Eb as P,H as R,Hc as x,Ic as $,Kb as V,Lb as z,Mb as l,Na as qe,Nb as se,Ob as ae,Oc as et,Pb as Qe,Qa as r,Qb as p,Rb as S,U as He,Z as f,Zb as Ze,_b as Je,a as Ue,ab as w,b as Be,bc as M,c as We,da as u,ea as m,ec as O,fb as F,fc as U,gc as B,jc as y,kc as G,lc as A,n as v,na as c,pb as je,pc as Ye,qb as Ke,sb as C,sc as W,tb as E,xb as N,yb as i,zb as o}from"./chunk-BTMXQPBB.js";import"./chunk-EUDKD2JW.js";var mt=["formRef"],Ct=()=>[import("./chunk-GHXNDRQC.js").then(s=>s.OptionsListComponent)];function Et(s,e){s&1&&(i(0,"spk-alert",3),l(1,1),o())}function ft(s,e){if(s&1){let t=P();i(0,"app-options-list",5),A("optionsChange",function(a){u(t);let _=S();return G(_.settings,a)||(_.settings=a),m(a)}),o()}if(s&2){let t=S();y("options",t.settings),N("hasFreeTextSettings",!0)}}var Nt=["Bytes","KB","MB","GB","TB","PB"],D=class s{#e=f(ne);#t=f(k);formRef=et.required("formRef");settings=c([]);isSubmitting=c(!1);isLoadingOptions=c(!0);saved=c(!1);sizeOptions=c(Nt);lastRecievedServerSettings=c({});serverSettingsEffect=$(()=>{let e=this.#e.serverSettings();if(e===void 0)return;this.lastRecievedServerSettings.set(e),this.isLoadingOptions.set(!0);let t=Object.entries(e);t.forEach(([n,a],_)=>{if(n.startsWith("--")){let g=n.substring(2);this.settings.update(T=>(T.some(h=>h.Name===g)||T.push({Name:g,Value:a}),T))}_===t.length-1&&this.isLoadingOptions.set(!1)})});submit(){this.isSubmitting.set(!0);let e=this.settings(),t=this.lastRecievedServerSettings(),n=e.map(T=>T.Name),_=Object.keys(t).filter(T=>T.startsWith("--")).filter(T=>!n.includes(T.replace("--",""))),g=e.reduce((T,h)=>(T[`--${h.Name}`]=h.Value,T),{});_.forEach(T=>{g[T]=null}),this.#t.patchApiV1Serversettings({requestBody:g}).pipe(R(()=>this.isSubmitting.set(!1))).subscribe({next:()=>{this.#e.refreshServerSettings(),this.saved.set(!0),setTimeout(()=>{this.saved.set(!1)},3e3)}})}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=w({type:s,selectors:[["app-advanced-options-settings"]],viewQuery:function(t,n){t&1&&Ze(n.formRef,mt,5),t&2&&Je()},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),C(1,Et,2,0,"spk-alert",3),i(2,"button",4),p("click",function(){return n.submit()}),V(3,0),I(4,"spk-icon"),z(),o()(),F(5,ft,1,2),je(6,5,Ct)),t&2&&(r(),E(n.saved()?1:-1),r(),M("loader",n.isSubmitting()),r(4),Ke(!n.isLoadingOptions()))},dependencies:[te,j,H,q],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-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 2.5rem;align-items:flex-end}"],changeDetection:0})};var L=class s{#e=f(nt);#t=f(k);#o=f(Q);repeatRegisterTimer=null;state=c("unknown");claimUrl=c(null);registerUrl=c("");status=x(()=>{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=$(()=>{let e=this.#o.systemInfo();e&&this.registerUrl.set(e.RemoteControlRegistrationUrl??"")});#n(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.#t.postApiV1RemotecontrolRegister({requestBody:{RegistrationUrl:""}}).subscribe({next:n=>this.#n(n),error:n=>this.#i(n)})},5e3)),(t==="enabled"||t==="registered")&&(this.repeatRegisterTimer=setTimeout(()=>{this.#t.getApiV1RemotecontrolStatus().subscribe({next:n=>this.#n(n),error:n=>this.#i(n)})},5e3)),e.IsRegistering&&e.CanEnable&&this.#t.deleteApiV1RemotecontrolRegister().subscribe({next:n=>this.#n(n)})}#i(e){this.#t.getApiV1RemotecontrolStatus().subscribe({next:t=>this.#n(t)})}refreshRemoteControlStatus(){this.#t.getApiV1RemotecontrolStatus().subscribe({next:e=>this.#n(e),error:e=>this.#i(e)})}beginRemoteRegistration(){this.state.set("registering"),this.#t.postApiV1RemotecontrolRegister({requestBody:{RegistrationUrl:this.registerUrl()}}).subscribe({next:e=>this.#n(e),error:e=>this.#i(e)})}cancelRemoteRegistration(){this.#t.deleteApiV1RemotecontrolRegister().subscribe({next:e=>this.#n(e),error:e=>this.#i(e)})}enableRemoteControl(){this.#t.postApiV1RemotecontrolEnable().subscribe({next:e=>this.#n(e),error:e=>this.#i(e)})}disableRemoteControl(){this.#t.postApiV1RemotecontrolDisable().subscribe({next:e=>this.#n(e),error:e=>this.#i(e)})}deleteRemoteControl(){let e=this;this.#e.open(dt,{data:{title:$localize`Confirm delete`,message:$localize`Are you sure you want to delete the remote control registration?`,confirmText:$localize`Delete registration`,cancelText:$localize`Cancel`},closed:t=>{t&&e.#t.deleteApiV1RemotecontrolRegistration().subscribe({next:n=>e.#n(n),error:n=>e.#i(n)})}})}static \u0275fac=function(t){return new(t||s)};static \u0275prov=He({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){u(t);let _=S(2);return G(_.registerUrl,a)||(_.registerUrl=a),m(a)}),o()(),i(2,"button",12),p("click",function(){u(t);let a=S(2);return m(a.register())}),l(3,0),o()}if(s&2){let t=S(2);r(),y("ngModel",t.registerUrl)}}function Pt(s,e){if(s&1&&(i(0,"div",8)(1,"label"),l(2,1),o(),i(3,"a",13),O(4),o()()),s&2){let t=S(2);r(3),N("href",Ye(t.claimUrl()),qe),r(),U(t.claimUrl())}}function Ot(s,e){s&1&&(i(0,"div",8)(1,"label"),l(2,2),o()())}function Rt(s,e){if(s&1){let t=P();i(0,"button",12),p("click",function(){u(t);let a=S(2);return m(a.cancel())}),l(1,3),o()}}function It(s,e){if(s&1){let t=P();i(0,"button",12),p("click",function(){u(t);let a=S(2);return m(a.disable())}),l(1,4),o()}}function yt(s,e){if(s&1){let t=P();i(0,"button",12),p("click",function(){u(t);let a=S(2);return m(a.enable())}),l(1,5),o(),i(2,"button",14),p("click",function(){u(t);let a=S(2);return m(a.delete())}),l(3,6),o()}}function Gt(s,e){if(s&1&&(i(0,"div",7),C(1,ht,4,1),C(2,Pt,5,3,"div",8),C(3,Ot,3,0,"div",8),C(4,Rt,2,0,"button",9),C(5,It,2,0,"button",9),C(6,yt,4,0),o()),s&2){let t=S();r(),E(t.state()==="inactive"?1:-1),r(),E(t.state()==="registered"?2:-1),r(),E(t.state()==="registering"?3:-1),r(),E(t.state()==="registering"||t.state()==="registeringfaulted"||t.state()==="registered"?4:-1),r(),E(t.state()==="connected"||t.state()==="enabled"?5:-1),r(),E(t.state()==="disabled"?6:-1)}}var ie=class s{#e=f(L);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=w({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 _;_=$localize`Disable remote control`;let g;g=$localize`Enable remote control`;let T;return T=$localize`Delete remote control setup`,[e,t,n,a,_,g,T,[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&&C(0,Gt,7,6,"div",7),t&2&&E(n.state()!=="unknown"?0:-1)},dependencies:[ee,Z,J,Y,K],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 re=()=>({standalone:!0});function At(s,e){s&1&&(i(0,"spk-icon",69),O(1,"check"),o())}function $t(s,e){s&1&&(i(0,"spk-icon",70),O(1,"prohibit"),o())}function vt(s,e){if(s&1){let t=P();i(0,"button",74),p("click",function(){u(t);let a=S(2);return m(a.updatePassphrase())}),l(1,34),o()}if(s&2){let t=S(2);M("loader",t.isUpdating())}}function bt(s,e){if(s&1){let t=P();i(0,"button",75),p("click",function(){u(t);let a=S(2);return m(a.updatePassphrase())}),l(1,35),o()}if(s&2){let t=S(2);M("loader",t.isUpdating()),N("disabled",!0)}}function wt(s,e){if(s&1){let t=P();i(0,"spk-form-field")(1,"label",65),l(2,31),o(),i(3,"input",66),A("ngModelChange",function(a){u(t);let _=S();return G(_.passphrase,a)||(_.passphrase=a),m(a)}),o()(),i(4,"spk-form-field")(5,"label",67),l(6,32),o(),i(7,"input",68),A("ngModelChange",function(a){u(t);let _=S();return G(_.repeatPassphrase,a)||(_.repeatPassphrase=a),m(a)}),o(),C(8,At,2,0,"spk-icon",69)(9,$t,2,0,"spk-icon",70),o(),i(10,"div",48)(11,"button",71),p("click",function(){u(t);let a=S();return m(a.cancelPasswordChange())}),l(12,33),o(),C(13,vt,2,2,"button",72)(14,bt,2,3,"button",73),o()}if(s&2){let t=S();r(3),y("ngModel",t.passphrase),r(4),N("disabled",t.passphrase().length===0),y("ngModel",t.repeatPassphrase),r(),E(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?8:9),r(3),M("loader",t.isUpdating()),r(2),E(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?13:14)}}function kt(s,e){s&1&&(i(0,"spk-icon",76),O(1,"check"),o())}function Lt(s,e){if(s&1){let t=P();i(0,"div",48)(1,"button",71),p("click",function(){u(t);let a=S();return m(a.openPassphraseForm())}),l(2,36),o(),C(3,kt,2,0,"spk-icon",76),o()}if(s&2){let t=S();r(3),E(t.passwordUpdated()?3:-1)}}function Ft(s,e){if(s&1){let t=P();i(0,"spk-form-field")(1,"label",77),l(2,37),o(),i(3,"textarea",78),A("ngModelChange",function(a){u(t);let _=S();return G(_.allowedHostnames,a)||(_.allowedHostnames=a),m(a)}),o()(),i(4,"spk-alert",79),l(5,38),o(),i(6,"button",74),p("click",function(){u(t);let a=S();return m(a.updateAllowedHostnames())}),l(7,39),o()}if(s&2){let t=S();r(3),y("ngModel",t.allowedHostnames),r(3),M("loader",t.updatingAllowedHosts())}}function xt(s,e){if(s&1&&O(0),s&2){let t,n=S();B(" ",(t=n.sysinfo())==null?null:t.ServerVersion," ")}}function Dt(s,e){s&1&&I(0,"spk-progress-bar",53)}function Xt(s,e){if(s&1&&O(0),s&2){let t=e.$implicit;B(" ",t.label," ")}}function Vt(s,e){if(s&1&&O(0),s&2){let t=e.$implicit;B(" ",t.label," ")}}function zt(s,e,t){let n=ut(s),a=n[Ue];t?.equal&&(a.equal=t.equal);let _;return n.set=g=>{clearTimeout(_),_=setTimeout(()=>Be(a,g),e)},n.update=g=>{clearTimeout(_),_=setTimeout(()=>We(a,g),e)},n}var Ut=[{value:"none",label:$localize`None`},{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=f(St);#t=f(Q);#o=f(k);#n=f(ne);#i=f(L);#s=f(tt);#a=this.#s.getItem("locale")??"en-US";sysinfo=this.#t.systemInfo;isDarkMode=this.#e.isDarkMode;editAs=c("list");previousLang=this.#a;langCtrl=c(this.#a);usageStatistics=c("");updatingUsageStatistics=c(!1);remoteControlStatus=this.#i.status;updatingChannel=c(!1);updateChannel=c("");setNewChannel(e){let t=this.updateChannel();this.updateChannel.set(e),this.#o.patchApiV1Serversettings({requestBody:{"update-channel":e}}).pipe(R(()=>this.updatingChannel.set(!1)),b(()=>(this.updateChannel.set(t),v(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.#o.patchApiV1Serversettings({requestBody:{"server-listen-interface":t?"any":"loopback"}}).pipe(R(()=>this.updatingRemoteAccess.set(!1)),b(()=>(this.allowRemoteAccess.set(e),v(null)))).subscribe()}updateAllowedHostnames(){let e=this.loadedAllowedHostnames(),t=this.allowedHostnames();this.updatingAllowedHosts.set(!0),this.#o.patchApiV1Serversettings({requestBody:{"server-listen-interface":"any","allowed-hostnames":t}}).pipe(R(()=>this.updatingAllowedHosts.set(!1)),b(()=>(this.allowedHostnames.set(e),v(null)))).subscribe()}updatingDisableTrayIconLogin=c(!1);disableTrayIconLogin=c(!1);saveDisableTrayIconLogin(){let e=this.disableTrayIconLogin(),t=!e;this.updatingDisableTrayIconLogin.set(!0),this.disableTrayIconLogin.set(t),this.#o.patchApiV1Serversettings({requestBody:{"disable-tray-icon-login":t?"True":"False"}}).pipe(R(()=>this.updatingDisableTrayIconLogin.set(!1)),b(()=>(this.disableTrayIconLogin.set(e),v(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.#o.patchApiV1Serversettings({requestBody:{"server-passphrase":this.passphrase()}}).pipe(R(()=>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(Tt);usageStatisticsOptions=c(Bt);timeTypeOptions=c(Ut);timeType=c("none");timeValue=zt(0,300);timeRange=x(()=>this.timeType()==="h"?[0,24]:[0,60]);timeValueEffect=$(()=>{let e=this.timeValue(),t=this.#n.serverSettings();!t||t["startup-delay"]===""&&this.timeType()==="none"||this.updateStartupDelay()});updateLocale(e){!e||e===""||e===this.previousLang||(this.#s.setItem("locale",e),window.location.reload())}updateStartupDelay(){let e=this.timeValue(),t=this.timeType(),n="";t!=="none"&&e!==0&&(n=`${e}${t}`),this.#o.patchApiV1Serversettings({requestBody:{"startup-delay":n}}).subscribe()}updateTimeType(e){this.timeType()==="none"&&this.timeValue.set(0),this.timeType.set(e)}updateUsageStatistics(e){let t=this.usageStatistics();!e||e===""||e===t||(this.usageStatistics.set(e),this.updatingUsageStatistics.set(!0),this.#o.patchApiV1Serversettings({requestBody:{"usage-reporter-level":this.usageStatistics()==="none"?"":this.usageStatistics()}}).pipe(R(()=>this.updatingUsageStatistics.set(!1)),b(()=>(this.usageStatistics.set(t),v(null)))).subscribe())}serverSettingsEffect=$(()=>{let e=this.#n.serverSettings();if(e===void 0)return;let t=e["startup-delay"],n=t.slice(-1),a=t.slice(0,-1),_=["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(t==""?"none":_.includes(n)?n:"none"),this.timeValue.set(t==""?0:parseInt(a))});setDarkMode(){this.#e.setDarkMode()}setLightMode(){this.#e.setLightMode()}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=w({type:s,selectors:[["app-settings"]],decls:132,vars:46,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 _;_=$localize`Customize your application theme`;let g;g=$localize`Passwords`;let T;T=$localize`Change server passphrase`;let h;h=$localize`Language`;let de;de=$localize`Select a language for the platform`;let ce;ce=$localize`Allow remote access (requires restart)`;let Se;Se=$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 pe;pe=$localize`Allow remote access`;let Te;Te=$localize`Prevent tray icon automatic log-in`;let ge;ge=$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=Qe(X);let $e;$e=$localize`Advanced options`;let ve;ve=$localize`Enter new password`;let be;be=$localize`Repeat password`;let oe;oe=$localize`Password have to be filled and have to match`;let we;we=$localize`Passphrase`;let ke;ke=$localize`Repeat passphrase`;let Le;Le=$localize`Cancel`;let Fe;Fe=$localize` Update passphrase `;let xe;xe=$localize` Update passphrase `;let De;De=$localize`Change password`;let Xe;Xe=$localize`Allowed hostnames`;let Ve;Ve=$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 ze;return ze=$localize` Update allowed hostnames `,[e,t,n,a,_,g,T,h,de,ce,Se,pe,Te,ge,ue,me,Ce,Ee,fe,Ne,Me,he,Pe,Oe,Re,Ie,ye,Ge,Ae,X,$e,we,ke,Le,Fe,xe,De,Xe,Ve,ze,[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,"ngModelChange","min","max","disabled","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",ve,"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"],["spk-button","","spkTooltip",oe,1,"raised","primary",3,"loader","disabled"],["spk-button","",1,"raised","primary",3,"click"],["spk-button","","spkTooltip",oe,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&&(I(0,"app-status-bar"),i(1,"div",40)(2,"header")(3,"div",41)(4,"h2"),l(5,0),o(),i(6,"p"),l(7,1),o()()(),i(8,"section")(9,"div",42)(10,"h3"),l(11,2),o(),i(12,"p"),O(13),o()(),i(14,"div",43),I(15,"app-remote-control"),o()(),i(16,"section")(17,"div",42)(18,"h3"),l(19,3),o(),i(20,"p"),l(21,4),o()(),i(22,"div",43)(23,"div",44)(24,"img",45),p("click",function(){return n.setLightMode()}),o(),i(25,"img",46),p("click",function(){return n.setDarkMode()}),o()()()(),i(26,"section")(27,"div",42)(28,"h3"),l(29,5),o(),i(30,"p"),l(31,6),o()(),i(32,"div",47),C(33,wt,15,7)(34,Lt,4,1,"div",48),o()(),i(35,"section")(36,"div",42)(37,"h3"),l(38,7),o(),i(39,"p"),l(40,8),o()(),i(41,"div",43)(42,"spk-select",49)(43,"input",50),p("ngModelChange",function(_){return n.updateLocale(_)}),o()()()(),i(44,"section")(45,"div",42)(46,"h3"),l(47,9),o(),i(48,"p"),l(49,10),o()(),i(50,"div",51)(51,"spk-toggle",52),p("click",function(){return n.updateRemoteAccess()}),i(52,"label"),l(53,11),o()(),C(54,Ft,8,3),o()(),i(55,"section")(56,"div",42)(57,"h3"),l(58,12),o(),i(59,"p"),l(60,13),o()(),i(61,"div",43)(62,"spk-toggle",52),p("click",function(){return n.saveDisableTrayIconLogin()}),i(63,"label"),l(64,14),o()()()(),i(65,"section")(66,"div",42)(67,"h3"),l(68,15),o(),i(69,"p"),C(70,xt,1,1),o(),C(71,Dt,1,0,"spk-progress-bar",53),o(),i(72,"div",54)(73,"div",55),p("click",function(){return n.setNewChannel("")}),i(74,"spk-radio",56),l(75,16),o(),i(76,"p"),l(77,17),o()(),i(78,"div",55),p("click",function(){return n.setNewChannel("stable")}),i(79,"spk-radio",56),l(80,18),o(),i(81,"p"),l(82,19),o()(),i(83,"div",55),p("click",function(){return n.setNewChannel("beta")}),i(84,"spk-radio",56),l(85,20),o(),i(86,"p"),l(87,21),o()(),i(88,"div",55),p("click",function(){return n.setNewChannel("experimental")}),i(89,"spk-radio",56),l(90,22),o(),i(91,"p"),l(92,23),o()(),i(93,"div",55),p("click",function(){return n.setNewChannel("canary")}),i(94,"spk-radio",56),l(95,24),o(),i(96,"p"),l(97,25),o()()()()(),I(98,"spk-divider"),i(99,"div",40)(100,"section")(101,"div",42)(102,"h3"),l(103,26),o(),i(104,"p"),l(105,27),o()(),i(106,"div",43)(107,"div",57)(108,"spk-range-slider",58)(109,"input",59),A("ngModelChange",function(_){return G(n.timeValue,_)||(n.timeValue=_),_}),o()(),i(110,"spk-select",60)(111,"input",61),p("ngModelChange",function(_){return n.updateTimeType(_)}),o(),F(112,Xt,1,1,"ng-template"),o()()()(),i(113,"section")(114,"div",42)(115,"h3"),l(116,28),o(),i(117,"p"),V(118,29),I(119,"a",62)(120,"br")(121,"br"),z(),o()(),i(122,"div",43)(123,"spk-select",63)(124,"input",50),p("ngModelChange",function(_){return n.updateUsageStatistics(_)}),o(),F(125,Vt,1,1,"ng-template"),o()()()(),i(126,"div",40)(127,"section")(128,"div",64)(129,"h3"),l(130,30),o(),I(131,"app-advanced-options-settings"),o()()()),t&2){let a,_,g;r(13),U(n.remoteControlStatus()),r(11),M("active",!n.isDarkMode()),r(),M("active",n.isDarkMode()),r(8),E(n.showPassphraseForm()?33:34),r(9),N("options",n.languageOptions())("isClearable",!1)("inlineSearch",!0),r(),N("ngModel",n.langCtrl())("ngModelOptions",W(43,re)),r(8),M("active",n.allowRemoteAccess()),r(3),E(n.allowRemoteAccess()?54:-1),r(8),M("active",n.disableTrayIconLogin()),r(8),E(n.updateChannel()!==""&&((a=n.sysinfo())!=null&&a.ServerVersion)?70:-1),r(),E(n.updatingChannel()?71:-1),r(3),M("active",n.updateChannel()===""),r(),se((_=n.sysinfo())==null?null:_.DefaultUpdateChannel),ae(75),r(2),se((g=n.sysinfo())==null?null:g.ServerVersionType),ae(77),r(2),M("active",n.updateChannel()==="stable"),r(5),M("active",n.updateChannel()==="beta"),r(5),M("active",n.updateChannel()==="experimental"),r(5),M("active",n.updateChannel()==="canary"),r(14),N("unit",n.timeType()==="none"?"s":n.timeType()),r(),N("min",n.timeRange()[0])("max",n.timeRange()[1])("disabled",n.timeType()==="none"),y("ngModel",n.timeValue),N("ngModelOptions",W(44,re)),r(),N("options",n.timeTypeOptions())("isClearable",!1),r(),N("ngModel",n.timeType()),r(12),N("options",n.usageStatisticsOptions())("isLoading",n.updatingUsageStatistics()),r(),N("ngModel",n.usageStatistics())("ngModelOptions",W(45,re))}},dependencies:[ee,Z,ct,J,Y,te,pt,ie,D,j,st,at,ot,rt,_t,K,H,it,q,lt],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;background:var(--base-1);border-bottom:1px solid var(--base-4)}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-4)}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:15rem;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-8);margin-bottom:.25rem}.radio-option[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-wrap:balance;color:var(--base-9)}.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};
|
package/chunk-RVPCSXUI.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as Le,b as Re}from"./chunk-VKUSJRIK.js";import{a as $e}from"./chunk-L5Y36SCW.js";import{a as x}from"./chunk-QD2GV7XN.js";import"./chunk-MFURKVTP.js";import{a as fe}from"./chunk-KZQCOYF7.js";import"./chunk-JM7VAPIC.js";import"./chunk-2BX65XJQ.js";import"./chunk-RHW5QVAY.js";import"./chunk-6JQM2X3B.js";import"./chunk-WXARH2SG.js";import{a as Ie}from"./chunk-ELFZD53L.js";import{c as Pe,d as Oe,e as he,i as De,r as ke,s as Ne,t as Me}from"./chunk-NSIELNIY.js";import{b as de,d as Ee}from"./chunk-FZG6OXT3.js";import{c as ce,e as pe,f as ue}from"./chunk-2W6BEUGU.js";import"./chunk-JFOXV66M.js";import{C as Te,a as M,b as G,c as Se,e as ge,g as w,k as Fe,l as Ae,n as Ce,u as me}from"./chunk-Y5IRBMLB.js";import{h as H}from"./chunk-DNJOKPEL.js";import"./chunk-CWLTHXVS.js";import"./chunk-WIDMAJIO.js";import{Ab as l,Eb as f,H as V,Hc as re,Ic as j,Kb as p,Lb as u,Mb as O,Mc as le,Oc as _e,Pb as R,Qa as r,Qb as g,Qc as Q,Rb as c,Z as A,Zb as ne,_b as oe,ab as N,bc as v,da as C,dc as $,ea as m,ec as F,fc as X,gc as K,jc as z,kc as W,lc as q,mc as ie,na as E,nc as se,oc as y,sb as d,sc as ae,tb as S,ub as Z,vb as ee,wb as te,xb as h,yb as s,zb as i}from"./chunk-BTMXQPBB.js";import{a as Y,b as B}from"./chunk-EUDKD2JW.js";var Ge=["scroller"];function we(n,o){n&1&&(s(0,"spk-icon"),F(1,"bell-ringing"),i())}function He(n,o){n&1&&(s(0,"spk-icon"),F(1,"bell"),i())}function xe(n,o){if(n&1&&l(0,"app-notification",8),n&2){c(2);let e=y(6);h("index",0)("notification",e.content)}}function Ue(n,o){if(n&1&&(s(0,"div",11),F(1),i()),n&2){c(3);let e=y(6);r(),K(" ",e.content.content," ")}}function Ye(n,o){if(n&1&&(s(0,"spk-alert")(1,"div",10),F(2),i(),d(3,Ue,2,1,"div",11),i()),n&2){c(2);let e=y(6);$(e.content.type||"error"),r(2),X(e.content.title),r(),S(e.content.content?3:-1)}}function Be(n,o){if(n&1&&(s(0,"div",6),d(1,xe,1,2,"app-notification",8)(2,Ye,4,4,"spk-alert",9),i()),n&2){c();let e=y(6);r(),S(e.type==="notification"?1:2)}}function Ve(n,o){if(n&1){let e=f();s(0,"div",7)(1,"div",12)(2,"h6",13),p(3,2),s(4,"button",5),g("click",function(){C(e);let a=c();return m(a.toggleNotifications())}),l(5,"spk-icon"),i(),u(),i(),s(6,"div",14,0)(8,"div",15),l(9,"app-notifications"),i()()()()}}function Xe(n,o){if(n&1&&(s(0,"div",20),F(1),i()),n&2){let e=c().$implicit;r(),K(" ",e.content," ")}}function Ke(n,o){if(n&1){let e=f();s(0,"spk-alert",18,1),g("click",function(){let a=C(e).$implicit,_=c(2);return m(_.deleteAlertByIndex(a.id))}),s(2,"div",19),F(3),i(),d(4,Xe,2,1,"div",20),i()}if(n&2){let e=o.$implicit;$(e.type),h("id",e.id),r(3),X(e.title),r(),S(e.content?4:-1)}}function ze(n,o){n&1&&(s(0,"p",17),O(1,4),i())}function We(n,o){if(n&1){let e=f();s(0,"div",7)(1,"div",12)(2,"h6",13),p(3,3),s(4,"button",5),g("click",function(){C(e);let a=c();return m(a.toggleAlerts())}),l(5,"spk-icon"),i(),u(),i(),s(6,"div",14,0)(8,"div",15),ee(9,Ke,5,5,"spk-alert",16,Z,!1,ze,2,0,"p",17),i()()()()}if(n&2){let e=c();r(9),te(e.alertHistory())}}var ye=new ke,b=class n{#e=A(Se);#t=A(x);isSubmitting=E(!1);messageSent=E(!1);form=ye.group({message:ye.control("",[Oe.required])});notifications=this.#t.notifications;shownMessage=E(null);shownMessageInterval=null;alertHistory=this.#e.alertHistory;alertHistoryIsOpen=this.#e.alertHistoryIsOpen;alertHistoryIsHidden=this.#e.alertHistoryIsHidden;numberOfOpenAlerts=re(()=>this.alertHistory().filter(o=>o.isOpen).length);scroller=_e("scroller");isAlertsOpen=Q(!1);isNotificationsOpen=Q(!1);previousHistoryCount=E(null);previousNotificationsCount=E(null);constructor(){j(()=>{let o=this.alertHistory(),e=this.notifications();if(e.length===0){this.shownMessage.set(null);return}e.length&&this.previousHistoryCount()!==o.length&&!this.isNotificationsOpen()?(this.shownMessage.set({content:e[0],countDown:3,type:"notification"}),this.previousHistoryCount.set(o.length),this.shownMessageInterval=setInterval(()=>{let t=this.shownMessage();if(t?.countDown===0){this.shownMessage.set(null),this.shownMessageInterval=null;return}t!==null&&this.shownMessage.update(a=>B(Y({},a),{countDown:a.countDown-1}))},1e3)):o.length&&this.previousHistoryCount()!==o.length&&!this.isAlertsOpen()&&(this.shownMessage.set({content:o[0],countDown:3,type:"alert"}),this.previousHistoryCount.set(o.length),this.shownMessageInterval=setInterval(()=>{let t=this.shownMessage();if(t?.countDown===0){this.shownMessage.set(null),this.shownMessageInterval=null;return}t!==null&&this.shownMessage.update(a=>B(Y({},a),{countDown:a.countDown-1}))},1e3))}),j(()=>{this.alertHistoryIsOpen(),this.scrollToBottom()})}resetPreviewMessage(){this.shownMessage.set(null),this.shownMessageInterval=null}toggleAlerts(){this.isAlertsOpen()?this.isAlertsOpen.set(!1):(this.isAlertsOpen.set(!0),this.isNotificationsOpen.set(!1),this.resetPreviewMessage())}toggleNotifications(){this.isNotificationsOpen.set(!this.isNotificationsOpen()),this.isAlertsOpen()&&this.isAlertsOpen.set(!1)}deleteAlertByIndex(o){this.#e.removeAlert(o)}scrollToBottom(){this.scroller()&&this.scroller()?.nativeElement&&this.scroller().nativeElement.scrollTo(0,this.scroller().nativeElement.scrollHeight)}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=N({type:n,selectors:[["app-service-hub"]],viewQuery:function(e,t){e&1&&ne(t.scroller,Ge,5),e&2&&oe()},inputs:{isAlertsOpen:[1,"isAlertsOpen"],isNotificationsOpen:[1,"isNotificationsOpen"]},outputs:{isAlertsOpen:"isAlertsOpenChange",isNotificationsOpen:"isNotificationsOpenChange"},decls:10,vars:9,consts:()=>{let o;o=$localize` Notifications ${"\uFFFD#4\uFFFD"}:START_TAG_BUTTON:${"\uFFFD#5\uFFFD"}:START_TAG_SPK_ICON:x-circle${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_BUTTON:`;let e;e=$localize` Alerts ${"\uFFFD#4\uFFFD"}:START_TAG_BUTTON:${"\uFFFD#5\uFFFD"}:START_TAG_SPK_ICON:x-circle${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_BUTTON:`;let t;return t=$localize`No alerts yet`,[["scroller",""],["alerts",""],o,e,t,["spk-button","",3,"click"],[1,"preview-alert-wrap"],[1,"alert-stream-modal"],[3,"index","notification"],[3,"class"],["sparkle-alert-title",""],["sparkle-alert-content",""],[1,"alert-stream-modal-content"],[1,"paragraph-20"],[1,"alert-stream-modal-list-scroller"],[1,"alert-stream-modal-list"],[3,"class","id"],[1,"no-alerts"],[3,"click","id"],["title",""],["content",""]]},template:function(e,t){if(e&1){let a=f();s(0,"button",5),g("click",function(){return C(a),m(t.toggleAlerts())}),s(1,"spk-icon"),F(2,"info"),i()(),s(3,"button",5),g("click",function(){return C(a),m(t.toggleNotifications())}),d(4,we,2,0,"spk-icon")(5,He,2,0,"spk-icon"),i(),ie(6),d(7,Be,3,1,"div",6),d(8,Ve,10,0,"div",7),d(9,We,12,1,"div",7)}if(e&2){$(t.alertHistory().length?"error":""),r(3),$(t.notifications().length?"error":""),r(),S(t.notifications().length?4:5),r(2);let a=se(t.shownMessage());r(),S(a?7:-1),r(),S(t.isNotificationsOpen()?8:-1),r(),S(t.isAlertsOpen()?9:-1)}},dependencies:[Me,G,M,w,Re,Le],styles:["[_nghost-%COMP%]{display:flex;position:fixed;gap:.5rem;bottom:1.5rem;right:1.5rem;z-index:5000}@media only screen and (max-width: 768px){[_nghost-%COMP%]{bottom:1rem;right:1rem}}[_nghost-%COMP%] h6[_ngcontent-%COMP%]{margin:0}.preview-alert-wrap[_ngcontent-%COMP%]{position:absolute;bottom:2.6875rem;right:0;display:flex;flex-direction:column;min-width:15.625rem}.helpdesk-modal[_ngcontent-%COMP%]{position:absolute;bottom:2.6875rem;right:0;display:flex;flex-direction:column}@media only screen and (max-width: 768px){.helpdesk-modal[_ngcontent-%COMP%]{bottom:2.6875rem}}.helpdesk-modal-content[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;gap:1rem;min-width:20rem;border:1px solid var(--base-4);background-color:var(--base-1);border-radius:var(--shape-2)}.helpdesk-modal-content[_ngcontent-%COMP%] .message-sent[_ngcontent-%COMP%]{padding:0 1rem 1rem;text-wrap:pretty}.helpdesk-modal-content[_ngcontent-%COMP%] h6[_ngcontent-%COMP%]{padding:1rem;border-bottom:1px solid var(--base-4);display:flex;align-items:center;justify-content:space-between}.helpdesk-modal-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%]{padding:0 1rem 1rem;display:flex;flex-direction:column;align-items:flex-end;gap:1rem}.helpdesk-modal-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{width:100%;text-wrap:pretty}.helpdesk-modal-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{width:100%}.alert-stream-modal[_ngcontent-%COMP%]{position:absolute;bottom:2.6875rem;right:0;display:flex;flex-direction:column}@media only screen and (max-width: 768px){.alert-stream-modal[_ngcontent-%COMP%]{bottom:2.6875rem}}.alert-stream-modal-list-scroller[_ngcontent-%COMP%]{overflow-y:auto;max-height:18.75rem}.alert-stream-modal-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem;padding:1rem;border-radius:var(--shape-2)}.alert-stream-modal-content[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;min-width:20rem;border:1px solid var(--base-4);background-color:var(--base-1);border-radius:var(--shape-2)}.alert-stream-modal-content[_ngcontent-%COMP%] h6[_ngcontent-%COMP%]{padding:1rem;border-bottom:1px solid var(--base-4);display:flex;align-items:center;justify-content:space-between}.no-alerts[_ngcontent-%COMP%]{padding:1rem;display:flex;flex-direction:column;gap:1rem;text-align:center}"],changeDetection:0})};function qe(n,o){n&1&&(s(0,"spk-icon",14),F(1,"check"),i())}function je(n,o){n&1&&(s(0,"spk-icon",15),F(1,"prohibit"),i())}function Qe(n,o){if(n&1){let e=f();s(0,"button",20),g("click",function(){C(e);let a=c();return m(a.updatePassphrase())}),O(1,5),i()}if(n&2){let e=c();v("loader",e.isUpdating())}}function Je(n,o){if(n&1){let e=f();s(0,"button",21),g("click",function(){C(e);let a=c();return m(a.updatePassphrase())}),O(1,6),i()}if(n&2){let e=c();v("loader",e.isUpdating()),h("disabled",!0)}}var U=class n{#e=A(H);closed=le();isUpdating=E(!1);passphrase=E("");repeatPassphrase=E("");updatePassphrase(){this.passphrase()===this.repeatPassphrase()&&(this.isUpdating.set(!0),this.#e.patchApiV1Serversettings({requestBody:{"server-passphrase":this.passphrase()}}).pipe(V(()=>this.isUpdating.set(!1))).subscribe({next:()=>this.closed.emit()}))}cancel(){this.isUpdating.set(!0),this.#e.patchApiV1Serversettings({requestBody:{"has-asked-for-password-change":"True"}}).pipe(V(()=>this.isUpdating.set(!1))).subscribe({next:()=>this.closed.emit()})}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=N({type:n,selectors:[["app-change-passphrase-alert-dialog"]],outputs:{closed:"closed"},decls:23,vars:7,consts:()=>{let o;o=$localize`Enter new password`;let e;e=$localize`Repeat password`;let t;t=$localize`Password have to be filled and have to match`;let a;a=$localize`Change passphrase`;let _;_=$localize` Duplicati needs to be secured with a passphrase and a random passphrase has been generated for you. ${"[\uFFFD#6\uFFFD\uFFFD/#6\uFFFD|\uFFFD#7\uFFFD\uFFFD/#7\uFFFD]"}:LINE_BREAK:${"[\uFFFD#6\uFFFD\uFFFD/#6\uFFFD|\uFFFD#7\uFFFD\uFFFD/#7\uFFFD]"}:LINE_BREAK: If you open Duplicati from the tray icon, you do not need a passphrase, but if you plan to open it from another location you need to set a passphrase you know. Do you want to set a passphrase now? `,_=R(_);let D;D=$localize`Passphrase`;let k;k=$localize`Repeat passphrase`;let I;I=$localize`Not now thanks`;let L;L=$localize` Yes, update passphrase now `;let T;return T=$localize` Yes, update passphrase now `,[a,_,D,k,I,L,T,["header",""],["content",""],["type","warning"],["for","password"],["type","password","name","password","autocomplete","disabled","placeholder",o,"tabindex","1",3,"ngModelChange","ngModel"],["for","repeatPassword"],["type","password","name","repeatPassword","autocomplete","disabled","placeholder",e,"tabindex","2",3,"ngModelChange","disabled","ngModel"],["suffix","",1,"spk-success"],["suffix",""],["footer",""],["spk-button","",3,"click"],["spk-button","",1,"raised","primary",3,"loader"],["spk-button","","spkTooltip",t,1,"raised","primary",3,"loader","disabled"],["spk-button","",1,"raised","primary",3,"click"],["spk-button","","spkTooltip",t,1,"raised","primary",3,"click","disabled"]]},template:function(e,t){e&1&&(s(0,"header",7)(1,"h3"),O(2,0),i()(),s(3,"div",8)(4,"spk-alert",9),p(5,1),l(6,"br")(7,"br"),u(),i(),s(8,"spk-form-field")(9,"label",10),O(10,2),i(),s(11,"input",11),q("ngModelChange",function(_){return W(t.passphrase,_)||(t.passphrase=_),_}),i()(),s(12,"spk-form-field")(13,"label",12),O(14,3),i(),s(15,"input",13),q("ngModelChange",function(_){return W(t.repeatPassphrase,_)||(t.repeatPassphrase=_),_}),i(),d(16,qe,2,0,"spk-icon",14)(17,je,2,0,"spk-icon",15),i()(),s(18,"footer",16)(19,"button",17),g("click",function(){return t.cancel()}),O(20,4),i(),d(21,Qe,2,2,"button",18)(22,Je,2,3,"button",19),i()),e&2&&(r(11),z("ngModel",t.passphrase),r(4),h("disabled",t.passphrase().length===0),z("ngModel",t.repeatPassphrase),r(),S(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?16:17),r(3),v("loader",t.isUpdating()),r(2),S(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?21:22))},dependencies:[Ne,Pe,he,De,G,Ae,M,Te],styles:["[_nghost-%COMP%]{display:block;--dialog-p: 1.5rem}[content][_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}"],changeDetection:0})};var Ze=()=>({exact:!0});function et(n,o){n&1&&(s(0,"spk-icon"),F(1,"sun"),i())}function tt(n,o){n&1&&(s(0,"spk-icon"),F(1,"moon"),i())}function nt(n,o){if(n&1){let e=f();s(0,"button",22),g("click",function(){C(e);let a=c();return m(a.changeDefaultClientTo("ngax"))}),p(1,7),l(2,"spk-icon"),u(),i(),s(3,"button",22),g("click",function(){C(e);let a=c();return m(a.logout())}),p(4,8),l(5,"spk-icon"),u(),i()}}var J=class n{#e=A($e);#t=A(H);#n=A(fe);#o=A(de);#i=A(ge);#s=A(x);#a=A(Ee);relayIsEnabled=this.#o.relayIsEnabled;isDarkMode=this.#e.isDarkMode;ngOnInit(){return this.#s.init(),this.#n.getBackups(!0),this.#t.getApiV1Serversettings().subscribe({next:o=>{let e=o["autogenerated-passphrase"]==="True",t=o["has-asked-for-password-change"]==="True";e&&!t&&this.#i.open(U,{maxWidth:"500px"})}})}toggleBodyClass(){this.#e.toggleBodyClass()}changeDefaultClientTo(o){this.#r(o),window.location.replace(`/${o}`)}logout(){this.#a.logout()}#r(o){var e=new Date;e.setTime(e.getTime()+90*24*60*60*1e3),document.cookie="default-client="+o+"; expires="+e.toUTCString()+"; path=/"}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=N({type:n,selectors:[["app-layout"]],decls:37,vars:4,consts:()=>{let o;o=$localize`${"\uFFFD#10\uFFFD"}:START_TAG_SPK_ICON:house${"\uFFFD/#10\uFFFD"}:CLOSE_TAG_SPK_ICON: Home `;let e;e=$localize`${"\uFFFD#13\uFFFD"}:START_TAG_SPK_ICON:database${"\uFFFD/#13\uFFFD"}:CLOSE_TAG_SPK_ICON: Add backup `;let t;t=$localize`${"\uFFFD#16\uFFFD"}:START_TAG_SPK_ICON:clock-counter-clockwise${"\uFFFD/#16\uFFFD"}:CLOSE_TAG_SPK_ICON: Restore `;let a;a=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SPK_ICON:gear${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SPK_ICON: Settings `;let _;_=$localize`${"\uFFFD#26\uFFFD"}:START_TAG_SPK_ICON:info${"\uFFFD/#26\uFFFD"}:CLOSE_TAG_SPK_ICON: About Duplicati `;let D;D=$localize`${"\uFFFD#29\uFFFD"}:START_TAG_SPK_ICON:files${"[\uFFFD/#29\uFFFD|\uFFFD/#30\uFFFD]"}:CLOSE_TAG_SPK_ICON: Documentation ${"\uFFFD#30\uFFFD"}:START_TAG_SPK_ICON_1:arrow-square-out${"[\uFFFD/#29\uFFFD|\uFFFD/#30\uFFFD]"}:CLOSE_TAG_SPK_ICON:`,D=R(D);let k;k=$localize`${"\uFFFD#33\uFFFD"}:START_TAG_SPK_ICON:chats-circle${"[\uFFFD/#33\uFFFD|\uFFFD/#34\uFFFD]"}:CLOSE_TAG_SPK_ICON: Visit forum ${"\uFFFD#34\uFFFD"}:START_TAG_SPK_ICON_1:arrow-square-out${"[\uFFFD/#33\uFFFD|\uFFFD/#34\uFFFD]"}:CLOSE_TAG_SPK_ICON:`,k=R(k);let I;I=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:skip-back${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON: Use old UI `;let L;return L=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SPK_ICON:sign-out${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_ICON: Log out `,[o,e,t,a,_,D,k,I,L,["sidenav",""],["spk-button","",1,"icon","small",3,"click"],[1,"base-1","primary"],["action","","routerLink","/","routerLinkActive","active",3,"routerLinkActiveOptions"],["action","","routerLink","/add-backup","routerLinkActive","active"],["action","","routerLink","/restore","routerLinkActive","active"],["action","","routerLink","/settings","routerLinkActive","active"],[1,"spacer"],[1,"base-1l","primary"],["action","","routerLink","/about","routerLinkActive","active"],["href","https://docs.duplicati.com","target","_blank","action",""],["suffix",""],["href","https://forum.duplicati.com","target","_blank","action",""],["action","",3,"click"]]},template:function(e,t){e&1&&(s(0,"spk-sidenav")(1,"div",9)(2,"header"),l(3,"app-logo"),s(4,"button",10),g("click",function(){return t.toggleBodyClass()}),d(5,et,2,0,"spk-icon")(6,tt,2,0,"spk-icon"),i()(),s(7,"spk-list",11)(8,"button",12),p(9,0),l(10,"spk-icon"),u(),i(),s(11,"button",13),p(12,1),l(13,"spk-icon"),u(),i(),s(14,"button",14),p(15,2),l(16,"spk-icon"),u(),i(),s(17,"button",15),p(18,3),l(19,"spk-icon"),u(),i()(),l(20,"div",16),s(21,"spk-list",17),d(22,nt,6,0),l(23,"spk-divider"),s(24,"button",18),p(25,4),l(26,"spk-icon"),u(),i(),s(27,"a",19),p(28,5),l(29,"spk-icon")(30,"spk-icon",20),u(),i(),s(31,"a",21),p(32,6),l(33,"spk-icon")(34,"spk-icon",20),u(),i()()(),l(35,"router-outlet")(36,"app-service-hub"),i()),e&2&&(r(5),S(t.isDarkMode()?5:6),r(3),h("routerLinkActiveOptions",ae(3,Ze)),r(14),S(t.relayIsEnabled()?-1:22))},dependencies:[ce,pe,ue,me,M,Ce,w,Fe,b,Ie],styles:["[_nghost-%COMP%]{height:100vh;width:100%;overflow:hidden}header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:1.25rem;gap:.75rem}h3[title][_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}div[sidenav][_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100vh}"],changeDetection:0})};export{J as default};
|
package/chunk-SMQWGV7N.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as a,d as b}from"./chunk-3B3CD5KI.js";import"./chunk-XIIFTZ5G.js";import"./chunk-BCHZRC5K.js";import"./chunk-LDIZ5E5Z.js";import"./chunk-JM7VAPIC.js";import"./chunk-2BX65XJQ.js";import"./chunk-6JQM2X3B.js";import"./chunk-WXARH2SG.js";import"./chunk-NSIELNIY.js";import"./chunk-FZG6OXT3.js";import"./chunk-2W6BEUGU.js";import"./chunk-JFOXV66M.js";import"./chunk-Y5IRBMLB.js";import"./chunk-DNJOKPEL.js";import"./chunk-CWLTHXVS.js";import"./chunk-WIDMAJIO.js";import"./chunk-BTMXQPBB.js";import"./chunk-EUDKD2JW.js";export{a as createEncryptionForm,b as default};
|
package/chunk-UM3LTU7N.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as $,r as L}from"./chunk-NSIELNIY.js";import{h as A}from"./chunk-DNJOKPEL.js";import{H as G,Hc as E,U as C,Z as O,na as S,r as D}from"./chunk-BTMXQPBB.js";import{a}from"./chunk-EUDKD2JW.js";var h=class{constructor(t){this.loader=t}_data=S(void 0);_isLoading=!1;_loaded=!1;load(){return!this._loaded&&!this._isLoading&&(this._isLoading=!0,this.loader().pipe(G(()=>this._isLoading=!1)).subscribe(t=>{this._data.set(t),this._loaded=!0})),this._data.asReadonly()}value(){return this._data.asReadonly()}isLoading(){return this._isLoading}isLoaded(){return this._loaded}reset(){this._data.set(void 0),this._loaded=!1}};var d=class e{#e=O(A);#o=new h(()=>this.getS3Config("Providers"));#n=new h(()=>this.getS3Config("Regions"));#r=new h(()=>this.getS3Config("RegionHosts"));#a=new h(()=>this.getS3Config("StorageClasses"));#i=E(()=>{let t=this.#o.value()(),o=this.#r.value()(),n=[...t??[],...o?.map(l=>({key:`Amazon ${l.key}`,value:l.value}))??[]];return Array.from(new Map(n.map(l=>[l.value,l])).values())});#s=new h(()=>this.getStorjConfig("Satellites"));#l=new h(()=>this.getStorjConfig("AuthenticationMethods"));#c=new h(()=>this.getOpenstackConfig("Providers"));#p=new h(()=>this.getOpenstackConfig("Versions"));#m=new h(()=>this.getGcsConfig("Locations"));#u=new h(()=>this.getGcsConfig("StorageClasses"));getS3AllProviders(){return this.#o.load(),this.#r.load(),this.#i}getS3Providers(){return this.#o.load()}getS3Regions(){return this.#n.load()}getS3RegionHosts(){return this.#r.load()}getS3StorageClasses(){return this.#a.load()}getStorjSatellites(){return this.#s.load()}getStorjAuthenticationMethods(){return this.#l.load()}getOpenstackProviders(){return this.#c.load()}getOpenstackVersions(){return this.#p.load()}getGcsLocations(){return this.#m.load()}getGcsStorageClasses(){return this.#u.load()}getS3Config(t){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"s3-getconfig",requestBody:{"s3-config":t}}).pipe(D(o=>this.#t(o)))}createS3IamUser(t,o){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"s3-iamconfig",requestBody:{"s3-operation":"CanCreateUser","s3-username":t,"s3-password":o}})}createS3PolicyIAM(t){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"s3-iamconfig",requestBody:{"s3-operation":"GetPolicyDoc",path:t}})}getStorjConfig(t){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"storj-getconfig",requestBody:{"storj-config":t}}).pipe(D(o=>this.#t(o)))}getOpenstackConfig(t){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"openstack-getconfig",requestBody:{"openstack-config":t}}).pipe(D(o=>this.#t(o)))}getGcsConfig(t){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"gcs-getconfig",requestBody:{"gcs-config":t}}).pipe(D(o=>this.#t(o)))}#t(t){return(t.Result&&typeof t.Result=="object"&&Object.entries(t.Result).map(([o,n])=>({key:o,value:n})))??[]}static \u0275fac=function(o){return new(o||e)};static \u0275prov=C({token:e,factory:e.\u0275fac,providedIn:"root"})};var r=new L,c={type:"error",message:$localize`Using a leading slash is most likely wrong, and will result in objects being created with a leading slash in the name.`},R={description:$localize`Unknown destination type`,customFields:{path:{type:"String",name:"path",doubleSlash:c,shortDescription:$localize`Path`,formElement:e=>r.control(e??"")}},mapper:{to:e=>s(e,null,null,e.custom.path),from:(e,t,o)=>{let l=o.startsWith(`${e}:///`)?o.split(`${e}:///`)[1]:o.split(`${e}://`)[1];return a({destinationType:e,custom:{path:l.split("?")[0]}},i(e,t))}}},M=[{key:"file",displayName:$localize`File system`,description:$localize`Store backups on your local file system.`,customFields:{path:{type:"FolderTree",name:"path",doubleSlash:c,shortDescription:$localize`File path`,longDescription:$localize`The path to store the backup`,formElement:e=>r.control(e??""),isMandatory:!0}},mapper:{to:e=>s(e,null,null,e.custom.path),from:(e,t,o)=>{let l=o.startsWith("file:///")?o.split("file:///")[1]:o.split("file://")[1],u=l.slice(1).startsWith(":\\")?l:"/"+l;return a({destinationType:e,custom:{path:u.split("?")[0]}},i(e,t))}}},{key:"ssh",displayName:$localize`SSH`,description:$localize`Store backups with SSH.`,customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`The server to connect to`,formElement:e=>r.control(e??""),isMandatory:!0},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`The port to connect to`,formElement:e=>r.control(e??"",[$.required,$.max(65535)])},path:{type:"Path",name:"path",shortDescription:$localize`Folder path`,longDescription:$localize`Folder path`,doubleSlash:{type:"warning",message:$localize`Using a leading slash makes the path absolute, pointing to the root of the filesystem.`},formElement:e=>r.control(e??"")}},dynamicFields:[{name:"auth-username",isMandatory:!0}],advancedFields:[{type:"FileTree",name:"ssh-keyfile",accepts:".key,",shortDescription:$localize`This is a path to a private key file locally on the machine`,longDescription:$localize`This is a path to a private key file locally on the machine`},{type:"FreeText",name:"ssh-key",shortDescription:$localize`SSH private key`,longDescription:$localize`An SSH private key. Supported formats are OpenSSL, OpenSSH, PuTTY, and PEM.`}],mapper:{to:e=>{let{server:t,port:o,path:n}=e.custom;return s(e,t,o,n)},from:(e,t,o)=>a({destinationType:e,custom:{server:t.hostname,port:t.port,path:p(t.pathname)}},i(e,t))}},{key:"s3",displayName:$localize`S3 Compatible`,description:$localize`Store backups in any S3 compatible bucket.`,customFields:{bucket:{type:"Bucketname",name:"bucket",shortDescription:$localize`Bucket name`,longDescription:$localize`Bucket name`,formElement:e=>r.control(e??""),isMandatory:!0},path:{type:"Path",name:"path",doubleSlash:c,shortDescription:$localize`Folder path`,longDescription:$localize`Folder path`,formElement:e=>r.control(e??"")}},dynamicFields:[{name:"s3-server-name",order:1,shortDescription:$localize`Server`,longDescription:$localize`The hostname of the S3 compatible server to connect to`,type:"NonValidatedSelectableString",loadOptions:e=>e.get(d).getS3AllProviders(),isMandatory:!0,formElement:e=>r.control(e??"")},{name:"use-ssl",order:2},{name:"auth-username",isMandatory:!0},{name:"auth-password",isMandatory:!0}],advancedFields:[{name:"s3-client",type:"Enumeration",loadOptions:()=>S([{key:"AWS Library",value:"aws"},{key:"MinIO Library",value:"minio"}])},{name:"s3-storage-class",type:"NonValidatedSelectableString",loadOptions:e=>e.get(d).getS3StorageClasses()},{name:"s3-location-constraint",type:"NonValidatedSelectableString",loadOptions:e=>e.get(d).getS3Regions()}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom;return s(e,t,null,o)},from:(e,t,o)=>a({destinationType:e,custom:{path:p(t.pathname),bucket:t.hostname}},i(e,t))}},{key:"gcs",displayName:$localize`Google Cloud Storage`,description:$localize`Store backups in Google Cloud Storage.`,oauthField:"authid",customFields:{bucket:{type:"Bucketname",name:"bucket",shortDescription:$localize`Bucket name`,longDescription:$localize`Bucket name`,formElement:e=>r.control(e??""),isMandatory:!0},path:{type:"Path",name:"path",doubleSlash:c,shortDescription:$localize`Folder path`,longDescription:$localize`Folder path`,formElement:e=>r.control(e??"")}},dynamicFields:[{name:"authid",isMandatory:!0}],advancedFields:[{name:"gcs-location",type:"NonValidatedSelectableString",loadOptions:e=>e.get(d).getGcsLocations()},{name:"gcs-storage-class",type:"NonValidatedSelectableString",loadOptions:e=>e.get(d).getGcsStorageClasses()}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom;return s(e,t,null,o)},from:(e,t,o)=>a({destinationType:e,custom:{path:p(t.pathname),bucket:t.hostname}},i(e,t))}},{key:"googledrive",displayName:$localize`Google Drive`,description:$localize`Store backups in Google Drive.`,oauthField:"authid",customFields:{path:{type:"Path",name:"path",doubleSlash:c,shortDescription:$localize`Folder path`,longDescription:$localize`Folder path`,formElement:e=>r.control(e??"")}},dynamicFields:[{name:"authid",type:"Password",isMandatory:!0}],mapper:{to:e=>s(e,null,null,e.custom.path),from:(e,t,o)=>a({destinationType:e,custom:{path:g(t)}},i(e,t))}},{key:"pcloud",displayName:$localize`pCloud`,description:$localize`Store backups in pCloud.`,oauthField:"authid",customFields:{server:{type:"Enumeration",name:"server",loadOptions:()=>S([{key:"pCloud Global",value:"api.pcloud.com"},{key:"pCloud Europe",value:"eapi.pcloud.com"}]),shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>r.control(e??""),isMandatory:!0},path:{type:"Path",name:"path",doubleSlash:c,shortDescription:$localize`Folder path`,longDescription:$localize`Folder path`,formElement:e=>r.control(e??"")}},dynamicFields:[{name:"authid",type:"Password",oauthVersion:2,isMandatory:!0}],mapper:{to:e=>{let{server:t,path:o}=e.custom;return s(e,t,null,o)},from:(e,t,o)=>{let n=t.pathname.replace(/^\//,"");return a({destinationType:e,custom:{server:t.hostname,path:n}},i(e,t))}}},{key:"azure",displayName:$localize`Azure Blob Storage`,description:$localize`Store backups in Azure Blob Storage.`,customFields:{path:{type:"Path",name:"path",doubleSlash:c,shortDescription:$localize`Container name`,longDescription:$localize`Container name`,formElement:e=>r.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Account name`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Access key`,isMandatory:!0}],mapper:{to:e=>s(e,null,null,e.custom.path),from:(e,t,o)=>a({destinationType:e,custom:{path:g(t)}},i(e,t))}},{key:"onedrivev2",displayName:$localize`OneDrive`,description:$localize`Store backups in OneDrive.`,oauthField:"authid",customFields:{path:{type:"Path",name:"path",doubleSlash:c,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>r.control(e??"")}},dynamicFields:[{name:"authid",isMandatory:!0}],mapper:{to:e=>s(e,null,null,e.custom.path),from:(e,t,o)=>a({destinationType:e,custom:{path:g(t)}},i(e,t))}},{key:"od4b",displayName:$localize`OneDrive Business`,description:$localize`Store backups in OneDrive Business.`,customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>r.control(e??""),isMandatory:!0},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>r.control(e??"")},path:{type:"Path",name:"path",doubleSlash:c,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>r.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Account name`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Access key`,isMandatory:!0}],mapper:{to:e=>{let{port:t,server:o,path:n}=e.custom;return s(e,o,t,n)},from:(e,t,o)=>a({destinationType:e,custom:{server:t.hostname,port:t.port,path:p(t.pathname)}},i(e,t))}},{key:"mssp",displayName:$localize`Microsoft SharePoint`,description:$localize`Store backups in Microsoft SharePoint.`,customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>r.control(e??""),isMandatory:!0},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>r.control(e??"")},path:{type:"String",name:"path",doubleSlash:c,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>r.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Account name`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Access key`,isMandatory:!0}],mapper:{to:e=>{let{port:t,server:o,path:n}=e.custom;return s(e,o,t,n)},from:(e,t,o)=>a({destinationType:e,custom:{server:t.hostname,port:t.port,path:p(t.pathname)}},i(e,t))}},{key:"sharepoint",displayName:$localize`Microsoft SharePoint v2`,description:$localize`Store backups in Microsoft SharePoint.`,oauthField:"authid",customFields:{path:{type:"Path",name:"path",doubleSlash:c,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>r.control(e??"")}},dynamicFields:[{name:"site-id",isMandatory:!0},{name:"authid",isMandatory:!0}],mapper:{to:e=>s(e,null,null,e.custom.path),from:(e,t,o)=>a({destinationType:e,custom:{path:g(t)}},i(e,t))}},{key:"dropbox",displayName:$localize`Dropbox`,description:$localize`Store backups in Dropbox.`,oauthField:"authid",customFields:{path:{type:"Path",name:"path",doubleSlash:c,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>r.control(e??"")}},dynamicFields:[{name:"authid",isMandatory:!0}],mapper:{to:e=>s(e,null,null,e.custom.path),from:(e,t,o)=>a({destinationType:e,custom:{path:g(t)}},i(e,t))}},{key:"box",displayName:$localize`Box.com`,description:$localize`Store backups in Box.com.`,oauthField:"authid",customFields:{path:{type:"Path",name:"path",doubleSlash:c,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>r.control(e??"")}},dynamicFields:[{name:"authid",isMandatory:!0}],mapper:{to:e=>s(e,null,null,e.custom.path),from:(e,t,o)=>a({destinationType:e,custom:{path:g(t)}},i(e,t))}},{key:"jottacloud",displayName:$localize`Jottacloud`,description:$localize`Store backups in Jottacloud.`,oauthField:"authid",customFields:{path:{type:"Path",name:"path",doubleSlash:c,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>r.control(e??"")}},dynamicFields:[{name:"authid",isMandatory:!0}],mapper:{to:e=>s(e,null,null,e.custom.path),from:(e,t,o)=>a({destinationType:e,custom:{path:g(t)}},i(e,t))}},{key:"b2",displayName:$localize`B2 Cloud Storage`,description:$localize`Store backups in B2 Cloud Storage.`,customFields:{bucket:{type:"Bucketname",name:"bucket",shortDescription:$localize`Bucket name`,longDescription:$localize`Bucket name`,formElement:e=>r.control(e??""),isMandatory:!0},path:{type:"Path",name:"path",doubleSlash:c,shortDescription:$localize`Path in the bucket`,longDescription:$localize`Path in the bucket`,formElement:e=>r.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Application ID`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Application Key`,isMandatory:!0}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom;return s(e,t,null,o)},from:(e,t,o)=>a({destinationType:e,custom:{path:p(t.pathname),bucket:t.hostname}},i(e,t))}},{key:"e2",displayName:$localize`IDrive e2`,description:$localize`Store backups in IDrive e2.`,customFields:{bucket:{type:"Bucketname",name:"bucket",shortDescription:$localize`Bucket name`,longDescription:$localize`Bucket name`,formElement:e=>r.control(e??""),isMandatory:!0},path:{type:"String",name:"path",doubleSlash:c,shortDescription:$localize`Path in the bucket`,longDescription:$localize`Path in the bucket`,formElement:e=>r.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Access ID`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Access Secret`,isMandatory:!0}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom;return s(e,t,null,o)},from:(e,t,o)=>a({destinationType:e,custom:{bucket:t.hostname,path:p(t.pathname)}},i(e,t))}},{key:"mega",displayName:$localize`Mega.nz`,description:$localize`Store backups in Mega.nz.`,customFields:{path:{type:"Path",name:"path",doubleSlash:c,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>r.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Username`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Password`,isMandatory:!0}],mapper:{to:e=>{let t=e.custom.path;return s(e,null,null,t)},from:(e,t,o)=>a({destinationType:e,custom:{path:g(t)}},i(e,t))}},{key:"msgroup",displayName:$localize`Microsoft Office 365 Group`,description:$localize`Store backups in Microsoft Office 365 Group.`,oauthField:"authid",customFields:{groupEmail:{type:"Email",name:"groupEmail",shortDescription:$localize`Group email`,longDescription:$localize`Group email`,formElement:e=>r.control(e??"",[$.email]),isMandatory:!0},path:{type:"Path",name:"path",doubleSlash:c,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>r.control(e??"")}},dynamicFields:[{name:"authid",isMandatory:!0}],mapper:{to:e=>s(e,null,null,e.custom.path),from:(e,t,o)=>a({destinationType:e,custom:{path:g(t)}},i(e,t))}},{key:"cloudfiles",displayName:$localize`Rackspace CloudFiles`,description:$localize`Store backups in Rackspace CloudFiles.`,customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>r.control(e??""),isMandatory:!0},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>r.control(e??"")},path:{type:"Path",name:"path",doubleSlash:c,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>r.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Username`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Password`,isMandatory:!0}],mapper:{to:e=>{let{port:t,server:o,path:n}=e.custom;return s(e,o,t,n)},from:(e,t,o)=>a({destinationType:e,custom:{server:t.hostname,port:t.port,path:p(t.pathname)}},i(e,t))}},{key:"rclone",displayName:$localize`Rclone`,description:$localize`Store backups in Rclone.`,dynamicFields:[{name:"rclone-local-repository",shortDescription:$localize`Local repository`,defaultValue:""},{name:"rclone-remote-repository",shortDescription:$localize`Remote repository`,defaultValue:""},{name:"rclone-remote-path",type:"Path",shortDescription:$localize`Path on remote repository`,defaultValue:""}],mapper:{to:e=>{let t=e.dynamic["rclone-remote-repository"],o=e.dynamic["rclone-remote-path"],n=Object.entries(e.dynamic).filter(([l])=>!["rclone-remote-repository","rclone-remote-path"].includes(l));return F(e.destinationType??"rclone",t,null,o,[...Object.entries(e.advanced),...n])},from:(e,t,o)=>{let{advanced:n,dynamic:l}=i(e,t);return a({destinationType:e,dynamic:a({"rclone-remote-repository":t.hostname,"rclone-remote-path":t.pathname},l)},n)}}},{key:"openstack",displayName:$localize`OpenStack Object Storage`,description:$localize`Store backups in OpenStack Object Storage.`,customFields:{bucket:{type:"Bucketname",name:"bucket",shortDescription:$localize`Bucket`,longDescription:$localize`Bucket`,formElement:e=>r.control(e??""),isMandatory:!0}},dynamicFields:[{name:"openstack-authuri",shortDescription:$localize`Auth URI`,type:"Enumeration",loadOptions:e=>e.get(d).getOpenstackProviders(),isMandatory:!0},{name:"openstack-version",shortDescription:$localize`Version`,type:"Enumeration",loadOptions:e=>e.get(d).getOpenstackVersions()},{name:"openstack-domain-name",type:"Hostname",shortDescription:$localize`Domain name`},{name:"openstack-tenant-name",shortDescription:$localize`Tenant name`},{name:"openstack-region",shortDescription:$localize`Region`}],mapper:{to:e=>{let{bucket:t}=e.custom;return s(e,t,null,null)},from:(e,t,o)=>a({destinationType:e,custom:{path:p(t.pathname),bucket:t.hostname}},i(e,t))}},{key:"webdav",displayName:$localize`WebDAV`,description:$localize`Store backups in WebDAV.`,customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>r.control(e??""),isMandatory:!0},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>r.control(e??"")},path:{type:"Path",name:"path",doubleSlash:c,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>r.control(e??"")}},dynamicFields:[{name:"use-ssl",shortDescription:$localize`Use SSL`},{name:"auth-username",shortDescription:$localize`Username`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Password`,isMandatory:!0}],mapper:{to:e=>{let{server:t,port:o,path:n}=e.custom;return s(e,t,o,n)},from:(e,t,o)=>a({destinationType:e,custom:{server:t.hostname,port:t.port,path:p(t.pathname)}},i(e,t))}},{key:"aftp",displayName:$localize`Alternative FTP`,description:$localize`Store backups in FTP.`,customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>r.control(e??""),isMandatory:!0},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>r.control(e??"")},path:{type:"Path",name:"path",shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,doubleSlash:{type:"warning",message:$localize`Using a leading slash makes the path absolute, pointing to the root of the filesystem.`},formElement:e=>r.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Username`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Password`,isMandatory:!0}],mapper:{to:e=>{let{server:t,port:o,path:n}=e.custom;return s(e,t,o,n)},from:(e,t,o)=>a({destinationType:e,custom:{server:t.hostname,port:t.port,path:p(t.pathname)}},i(e,t))}},{key:"ftp",displayName:$localize`FTP`,description:$localize`Store backups in FTP.`,customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>r.control(e??""),isMandatory:!0},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>r.control(e??"")},path:{type:"Path",name:"path",shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,doubleSlash:{type:"warning",message:$localize`Using a leading slash makes the path absolute, pointing to the root of the filesystem.`},formElement:e=>r.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Username`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Password`,isMandatory:!0}],mapper:{to:e=>{let{port:t,server:o,path:n}=e.custom;return s(e,o,t,n)},from:(e,t,o)=>a({destinationType:e,custom:{server:t.hostname,port:t.port,path:p(t.pathname)}},i(e,t))}},{key:"sia",displayName:$localize`Sia Decentrilized Cloud`,description:$localize`Store backups in Sia Decentrilized Cloud.`,customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>r.control(e??""),isMandatory:!0}},dynamicFields:["sia-targetpath","sia-password","sia-redundancy"],mapper:{to:e=>{let t=e.custom.server,o=e.dynamic["sia-targetpath"],n=[...Object.entries(e.advanced),...Object.entries(e.dynamic).filter(([l])=>l!=="sia-targetpath")];return F(e.destinationType??"sia",t,null,o,n)},from:(e,t,o)=>a({destinationType:e,custom:{path:p(t.pathname)}},i(e,t))}},{key:"cos",displayName:$localize`Tencent COS`,description:$localize`Store backups in Tencent COS.`,customFields:{path:{type:"Path",name:"path",doubleSlash:c,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>r.control(e??"")}},dynamicFields:[{name:"cos-bucket",type:"Bucketname",shortDescription:$localize`Bucket`,order:1,isMandatory:!0},{name:"cos-region",shortDescription:$localize`Region`,order:2},{name:"cos-app-id",shortDescription:$localize`COS App Id`,order:3,isMandatory:!0},{name:"cos-secret-id",shortDescription:$localize`COS Secret Id`,order:4,isMandatory:!0},{name:"cos-secret-key",shortDescription:$localize`COS Secret Key`,order:5,isMandatory:!0}],mapper:{to:e=>s(e,null,null,e.custom.path),from:(e,t,o)=>a({destinationType:e,custom:{path:p(t.pathname)}},i(e,t))}},{key:"tahoe",displayName:$localize`Tahoe LAFS`,description:$localize`Store backups in Tahoe LAFS.`,customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>r.control(e??""),isMandatory:!0},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>r.control(e??"")},path:{type:"Path",name:"path",doubleSlash:c,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>r.control(e??"")}},dynamicFields:[{name:"use-ssl",shortDescription:$localize`Use SSL`}],mapper:{to:e=>{let{server:t,port:o,path:n}=e.custom;return s(e,t,o,n)},from:(e,t,o)=>a({destinationType:e,custom:{server:t.hostname,port:t.port,path:p(t.pathname)}},i(e,t))}},{key:"cifs",displayName:$localize`CIFS`,description:$localize`Store backups in CIFS.`,customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>r.control(e??""),isMandatory:!0},share:{type:"Hostname",name:"share",shortDescription:$localize`Share Name`,longDescription:$localize`Share Name`,formElement:e=>r.control(e??""),isMandatory:!0},path:{type:"Path",name:"path",doubleSlash:c,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>r.control(e??"")}},dynamicFields:["transport",{name:"auth-username",isMandatory:!0},{name:"auth-password",isMandatory:!0},"auth-domain"],mapper:{to:e=>{let{share:t,server:o,path:n}=e.custom;return s(e,o,null,b(t,n))},from:(e,t,o)=>{let n=t.pathname.split("/")[1],l=t.pathname.split("/").slice(2).join("/");return a({destinationType:e,custom:{server:t.hostname,share:n,path:l}},i(e,t))}}},{key:"filen",displayName:$localize`Filen.io`,description:$localize`Store backups in Filen.io.`,customFields:{path:{type:"Path",name:"path",doubleSlash:c,shortDescription:$localize`Path on Filen`,longDescription:$localize`Path on Filen`,formElement:e=>r.control(e??"")}},dynamicFields:[{name:"auth-username",isMandatory:!0},{name:"auth-password",isMandatory:!0}],mapper:{to:e=>s(e,null,null,e.custom.path),from:(e,t,o)=>a({destinationType:e,custom:{path:g(t)}},i(e,t))}},{key:"filejump",displayName:$localize`Filejump`,description:$localize`Store backups in Filejump.`,customFields:{path:{type:"Path",name:"path",doubleSlash:c,shortDescription:$localize`Path on Filejump`,longDescription:$localize`Path on Filejump`,formElement:e=>r.control(e??"")}},dynamicFields:[{type:"Password",name:"api-token",shortDescription:$localize`API Token`,longDescription:$localize`Filejump API Token`,formElement:e=>r.control(e??""),isMandatory:!0}],mapper:{to:e=>{let{path:t}=e.custom;return console.log(t),s(e,null,null,t)},from:(e,t,o)=>(console.log(t),a({destinationType:e,custom:{path:g(t)}},i(e,t)))}},{key:"storj",customKey:"storjAccessGrant",displayName:$localize`Storj Access Grant`,description:$localize`Store backups in Storj Access Grant.`,dynamicFields:[{name:"storj-shared-access",shortDescription:$localize`Access Grant`,isMandatory:!0},{name:"storj-bucket",type:"Bucketname",shortDescription:$localize`Bucket`,isMandatory:!0},{name:"storj-folder",type:"Path",shortDescription:$localize`Path on server`,doubleSlash:c},{name:"storj-satellite",shortDescription:$localize`Satellite`,type:"Enumeration",loadOptions:e=>e.get(d).getStorjSatellites(),isMandatory:!0}],mapper:{to:e=>{let t={"storj-auth-method":"Acccess grant"};return`storj://storj.io/config${k([...Object.entries(e.advanced),...Object.entries(e.dynamic),...Object.entries(t)])}`},from:(e,t,o)=>{let n=i(e,t);return delete n.advanced["storj-auth-method"],a({destinationType:e},n)}}},{key:"storj",customKey:"storjApiKey",displayName:$localize`Storj API Key`,description:$localize`Store backups in Storj API Key.`,dynamicFields:[{name:"storj-satellite",shortDescription:$localize`Satellite`,type:"Enumeration",loadOptions:e=>e.get(d).getStorjSatellites(),isMandatory:!0},{name:"storj-api-key",shortDescription:$localize`API Key`,isMandatory:!0},{name:"storj-secret",shortDescription:$localize`Secret`,isMandatory:!0},{name:"storj-bucket",type:"Bucketname",shortDescription:$localize`Bucket`,isMandatory:!0},{name:"storj-folder",type:"Path",shortDescription:$localize`Path on server`,doubleSlash:c}],mapper:{to:e=>{let t={"storj-auth-method":"API key"};return`storj://storj.io/config${k([...Object.entries(e.advanced),...Object.entries(e.dynamic),...Object.entries(t)])}`},from:(e,t,o)=>{let n=i(e,t);return delete n.advanced["storj-auth-method"],a({destinationType:e},n)}}},{key:"aliyunoss",displayName:$localize`Aliyun OSS`,description:$localize`Store backups in Aliyun OSS`,customFields:{bucket:{type:"Bucketname",name:"oss-bucket-name",shortDescription:$localize`Bucket name`,formElement:e=>r.control(e??""),isMandatory:!0},path:{type:"Path",name:"path",doubleSlash:c,shortDescription:$localize`Path in bucket`,longDescription:$localize`Path in bucket`,formElement:e=>r.control(e??"")}},dynamicFields:[{name:"oss-endpoint",isMandatory:!0},{name:"oss-access-key-id",isMandatory:!0},{name:"oss-access-key-secret",isMandatory:!0}],mapper:{to:e=>{let t=e.custom.path,o=e.custom["oss-bucket-name"];return s(e,o,null,t)},from:(e,t,o)=>a({destinationType:e,custom:{path:p(t.pathname),bucket:t.hostname}},i(e,t))}}],ae={".amazonaws.com":"Amazon S3",".mycloudyplace.com":"MyCloudyPlace S3",".impossibleapi.net":"Impossible Cloud S3",".scw.cloud":"Scaleway S3",".hosteurope.de":"Hosteurope S3",".dunkel.de":"Dunkel S3",".dreamhost.com":"DreamHost S3",".dincloud.com":"dinCloud S3",".polisystems.ch":"Poli Systems S3",".softlayer.net":"IBM COS (S3)",".storadera.com":"Storadera S3",".wasabisys.com":"Wasabi S3",".infomaniak.com":"Infomaniak S3",".infomaniak.cloud":"Infomaniak S3",".sakurastorage.jp":"\u3055\u304F\u3089\u306E\u30AF\u30E9\u30A6\u30C9 S3",".lyvecloud.seagate.com":"Seagate Lyve S3",".digitaloceanspaces.com":"DigitalOcean S3",".backblazeb2.com":"Backblaze B2 S3",".cloudian.com":"Cloudian S3",".min.io":"MinIO S3",".linodeobjects.com":"Linode S3",".bunnycdn.com":"BunnyCDN S3",".azure.com":"Microsoft Azure S3",".googleapis.com":"Google Cloud Storage S3",".ibm.com":"IBM Cloud S3",".oracle.com":"Oracle Cloud S3",".cloudflare.com":"Cloudflare S3",".alibaba.com":"Alibaba Cloud S3",".huawei.com":"Huawei Cloud S3",".tencent.com":"Tencent Cloud S3",".baidu.com":"Baidu Cloud S3",".jd.com":"JD Cloud S3",".ucloud.cn":"UCloud S3",".qiniu.com":"Qiniu Cloud S3",".aliyuncs.com":"Aliyun S3",".tcloud.com":"TCloud S3",".tencentcloudapi.com":"Tencent Cloud S3"};function s(e,t,o,n){return F(e.destinationType??"file",t,o,n,[...Object.entries(e.advanced),...Object.entries(e.dynamic)])}function F(e,t,o,n,l){let m=k(l),u=w(t),y=u==""?"":u+N(o),v=b(y,n??"");return`${e}://${v}${m}`}function p(e){return e==null||e===""?"":e.startsWith("/")?e.substring(1):e}function b(...e){if(e.length===0)return"";if(e.length===1)return e[0]??"";let t="";for(let o of e)o==null||o===""||(t+=t.endsWith("/")||t==""?o:"/"+o);return t}function g(e){if(e==null||e==="")return"";if(typeof e=="string")try{e=new URL(e)}catch{return""}return(e.hostname??"")+(e.pathname=="/"?"":e.pathname??"")}function w(e){return e==null||e===""?"":e.endsWith("/")?e.substring(0,e.length-1):e}function N(e){return e==null||e===""?"":":"+e.toString()}function P(e){return M.find(o=>o.key===e||o.customKey===e)??M.find(o=>`${o.key}s`===e)??null??a({key:e,displayName:e},R)}function i(e,t){let o={},n={},l=P(e);return t.searchParams.forEach((m,u)=>{l?.dynamicFields?.some(f=>f===u||f?.name===u)?n[u]=decodeURIComponent(m):o[u]=decodeURIComponent(m)}),{advanced:o,dynamic:n}}function k(e,t=!1){let o=e.map(([l,m])=>`${l}=${m?encodeURIComponent(m.toString()):""}`).join("&");return o?(t?"":"?")+o:""}function ce(e){let t=e.destinationType??"";return P(t)?.mapper.to(e)??""}function pe(e){let t=URL.canParse(e),o=e.split("://")[0],n=e.split("://")[1],l="http://"+n;if(!n)return null;if(n.startsWith("%")&&o==="file")return P(o).mapper.from(o,new URL("http://localhost"),e);let m=P(o),u="";`${m.key}s`===o&&(u+=l.indexOf("?")===-1?"?":"&",u+="use-ssl=true",e=m.key+e.substring(o.length));try{let y=new URL(l+u);if(y.host==="undefined")return null;let f=n.split("?")[0].split("/")[0],v=!isNaN(Number(y.host.replaceAll(".",""))),V=f.split("."),U=V.length===4&&V.every(z=>z.length&&z.length<=3&&!isNaN(Number(z))&&parseInt(z)<=255);return v&&!U?null:m.mapper.from(m.key,y,e)}catch{return null}}export{P as a,ce as b,pe as c,M as d,ae as e};
|
package/chunk-VKUSJRIK.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as x}from"./chunk-QD2GV7XN.js";import{a as Q}from"./chunk-2BX65XJQ.js";import{b as U,d as H}from"./chunk-2W6BEUGU.js";import{b as K,c as j,e as W,g as q,p as Y}from"./chunk-Y5IRBMLB.js";import{h as J}from"./chunk-DNJOKPEL.js";import{Ab as g,Bb as y,Cb as L,Eb as f,Hc as B,Kb as R,Lb as D,Mb as _,Na as M,Nc as S,Qa as r,Qb as u,Rb as s,Z as N,ab as A,da as C,dc as V,ea as I,ec as F,fc as P,gc as z,mc as G,nc as X,oc as O,sb as d,tb as p,vb as b,wb as v,xb as m,yb as a,zb as l}from"./chunk-BTMXQPBB.js";function it(n,e){if(n&1&&F(0),n&2){s();let t=O(0);z(" ",t.Message," ")}}function nt(n,e){if(n&1&&(a(0,"div"),R(1,1),g(2,"a",15),D(),l()),n&2){s();let t=O(0);r(2),m("href",t.DownloadLink,M)}}function ot(n,e){if(n&1){let t=f();a(0,"button",14),u("click",function(){C(t);let i=s(),c=O(0);return I(i.doRepair(c.BackupID))}),_(1,2),l()}}function at(n,e){if(n&1){let t=f();a(0,"button",14),u("click",function(){C(t);let i=s(),c=O(0);return I(i.doDownloadBugreport(c))}),_(1,3),l()}}function rt(n,e){if(n&1&&g(0,"spk-progress-bar",17),n&2){let t,o=s(2);m("value",(t=o.serverState())==null?null:t.UpdateDownloadProgress)}}function lt(n,e){if(n&1){let t=f();a(0,"div",13),y(1),_(2,4),L(),a(3,"a",16),F(4),l(),d(5,rt,1,1,"spk-progress-bar",17),a(6,"button",14),u("click",function(){C(t);let i=s();return I(i.doShowUpdate())}),_(7,5),l()()}if(n&2){let t,o,i=s(),c=O(0);r(3),m("href",(t=i.serverState())==null?null:t.UpdateDownloadLink,M),r(),P(c.Message),r(),p(((o=i.serverState())==null?null:o.UpdaterState)==="Downloading"?5:-1)}}function ct(n,e){if(n&1){let t=f();a(0,"button",14),u("click",function(){C(t);let i=s(),c=O(0);return I(i.doShowLog(c.BackupID))}),_(1,6),l()}}function _t(n,e){if(n&1){let t=f();a(0,"button",14),u("click",function(){C(t);let i=s();return I(i.doShowLink("https://docs.duplicati.com/detailed-descriptions/the-server-database"))}),_(1,7),l()}}function st(n,e){if(n&1){let t=f();a(0,"button",14),u("click",function(){C(t);let i=s();return I(i.doShowLink("https://docs.duplicati.com/detailed-descriptions/the-server-database"))}),_(1,8),l()}}var dt={Error:"error",Warning:"warn",Information:"primary"},E=class n{#t=N(H);#o=N(U);#a=N(W);#e=N(j);#i=N(x);#n=N(J);serverState=this.#i.serverState;index=S.required();notification=S.required();deleteNotificationByIndex(){this.#i.deleteNotification(this.index())}deleteAllNotifications(){this.#i.deleteAllNotifications()}getAlertType(e){return e&&dt[e]||"primary"}doShowLog(e){this.#n.getApiV1BackupByIdIsactive({id:e}).subscribe({next:t=>{this.#t.navigate(["/backup/"+e+"/log"])},error:t=>{if(t.status===404){let o={title:$localize`Error`,message:$localize`The backup is missing, has it been deleted?`,confirmText:$localize`OK`,cancelText:null};parseInt(e)+""!=e&&(o={title:$localize`Error`,message:$localize`The backup was temporary and does not exist anymore, so the log data is lost`,confirmText:$localize`OK`,cancelText:null}),this.#a.open(Q,{maxWidth:"550px",width:"100%",data:o})}else this.#e.error($localize`Failed to find backup: `+t.message)}})}doRepair(e){this.#n.postApiV1BackupByIdRepair({id:e}).subscribe({next:()=>{this.#e.success($localize`Backup repaired`),this.#t.navigate(["./"],{onSameUrlNavigation:"reload",relativeTo:this.#o})},error:t=>{this.#e.error($localize`Failed to repair backup: `+t.message)}})}doShowUpdate(){this.#t.navigate(["/about/changelog"])}doShowLink(e){window.open(e,"_blank")}doDownloadBugreport(e){let t=e.Action.slice(19);this.#n.postApiV1AuthIssuetokenByOperation({operation:`bugreport/${t}`}).subscribe({next:o=>{if(!o.Token){this.#e.error("Failed to get bug report URL: No token generated");return}e.DownloadLink=o.Token},error:o=>{this.#e.error(`Failed to get bug report URL: ${o.message}`)}})}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=A({type:n,selectors:[["app-notification"]],inputs:{index:[1,"index"],notification:[1,"notification"]},decls:16,vars:12,consts:()=>{let e;e=$localize`Dismiss`;let t;t=$localize` If the backup file was not downloaded automatically, ${"\uFFFD#2\uFFFD"}:START_LINK:right click and choose "Save as …"${"\uFFFD/#2\uFFFD"}:CLOSE_LINK:`;let o;o=$localize`Repair`;let i;i=$localize`Download`;let c;c=$localize`New update found:`;let $;$=$localize`Show Update`;let h;h=$localize`Show Log`;let k;k=$localize` Show Help `;let w;return w=$localize` Show Help `,[e,t,o,i,c,$,h,k,w,["sparkle-alert-title",""],["sparkle-alert-content","",1,"content"],[1,"actions"],["spk-button","",1,"small","outlined"],[1,"message"],["spk-button","",1,"small","outlined",3,"click"],["target","_blank",3,"href"],[3,"href"],[3,"value"]]},template:function(t,o){if(t&1){let i=f();G(0),a(1,"spk-alert")(2,"div",9),F(3),l(),a(4,"div",10),d(5,it,1,1),d(6,nt,3,1,"div"),a(7,"div",11),d(8,ot,2,0,"button",12),d(9,at,2,0,"button",12),d(10,lt,8,3,"div",13),d(11,ct,2,0,"button",12),d(12,_t,2,0,"button",12),d(13,st,2,0,"button",12),a(14,"button",14),u("click",function(){return C(i),I(o.deleteNotificationByIndex())}),_(15,0),l()()()()}if(t&2){let i=X(o.notification());r(),V(o.getAlertType(i.Type)),r(2),P(i.Title),r(2),p(i.Action!=="update:new"&&i.Action!=="update:manual"?5:-1),r(),p(i!=null&&i.DownloadLink?6:-1),r(2),p(i.Message!=null&&i.Message.includes("please run repair")?8:-1),r(),p(i.Action!=null&&i.Action.startsWith("bug-report:created:")&&!i.DownloadLink?9:-1),r(),p(i.Action==="update:new"?10:-1),r(),p(i.Action==="backup:show-log"?11:-1),r(),p(i.Action==="config:issue:unencrypted-database"?12:-1),r(),p(i.Action==="config:issue:windows-folder-used"?13:-1)}},dependencies:[Y,q,K],styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0})};var pt=(n,e)=>e.ID;function Nt(n,e){if(n&1&&g(0,"app-notification",1),n&2){let t=e.$implicit,o=e.$index;m("index",o)("notification",t)}}function Tt(n,e){n&1&&(a(0,"div",2)(1,"p"),_(2,0),l()())}var Z=class n{#t=N(x);notificationFilterPredicate=S();notifications=B(()=>{let e=this.notificationFilterPredicate()?.predicate,t=this.#t.notifications();return typeof e!="function"?t:t.filter(e)});static \u0275fac=function(t){return new(t||n)};static \u0275cmp=A({type:n,selectors:[["app-notifications"]],inputs:{notificationFilterPredicate:[1,"notificationFilterPredicate"]},decls:3,vars:1,consts:()=>{let e;return e=$localize`No more notifications`,[e,[3,"index","notification"],[1,"notification-list"]]},template:function(t,o){t&1&&b(0,Nt,1,2,"app-notification",1,pt,!1,Tt,3,0,"div",2),t&2&&v(o.notifications())},dependencies:[E],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.actions[_ngcontent-%COMP%]{display:flex;gap:.25rem;justify-content:flex-end}.notification-list[_ngcontent-%COMP%]{padding:1rem;display:flex;flex-direction:column;gap:1rem;text-align:center}"],changeDetection:0})};export{E as a,Z as b};
|
package/chunk-XIIFTZ5G.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as Me}from"./chunk-6JQM2X3B.js";import{s as Oe}from"./chunk-NSIELNIY.js";import{A as Ee,a as me,f as Ce,l as Pe,n as Te,p as ve}from"./chunk-Y5IRBMLB.js";import{h as be}from"./chunk-DNJOKPEL.js";import{ea as ge}from"./chunk-CWLTHXVS.js";import{$b as Y,Ab as K,Ac as _e,B as se,Db as U,Eb as L,H as q,Hc as D,Ic as A,Mb as B,Mc as Z,Nb as ae,Nc as v,Ob as ce,Oc as ee,Qa as P,Qb as I,Rb as f,Sb as de,Tb as $,Z as z,Zb as J,_b as pe,ab as re,ac as ue,bc as b,da as k,ea as R,ec as y,fb as X,gc as he,n as ie,na as S,r as W,sb as F,tb as x,tc as V,uc as fe,vb as oe,wb as le,x as ne,xb as Q,yb as _,zb as C}from"./chunk-BTMXQPBB.js";import{a as j,b as G}from"./chunk-EUDKD2JW.js";var we=["treeContainer"],ke=["formRef"],Re=[[["label"]],[["label"]],[["input"]]],Ie=["label","label","input"],De=s=>({children:s,level:0}),Se=s=>({$implicit:s}),Ae=(s,t)=>({children:s,level:t}),We=(s,t)=>t.id;function Le(s,t){if(s&1){let e=L();_(0,"spk-button-group")(1,"button",13),I("click",function(){k(e);let n=f();return R(n.pathDiscoveryMethod.set("browse"))}),B(2,4),C(),_(3,"button",13),I("click",function(){k(e);let n=f();return R(n.pathDiscoveryMethod.set("path"))}),B(4,5),C()()}if(s&2){let e=f();P(),b("active",e.pathDiscoveryMethod()==="browse"),P(2),b("active",e.pathDiscoveryMethod()==="path")}}function Be(s,t){s&1&&K(0,"spk-progress-bar",9)}function $e(s,t){s&1&&(_(0,"spk-icon",18),y(1,"caret-down"),C(),_(2,"spk-icon",16),y(3,"folder-open"),C())}function Ve(s,t){s&1&&(K(0,"spk-icon",18),_(1,"spk-icon"),y(2,"file"),C())}function He(s,t){s&1&&(_(0,"spk-icon",18),y(1,"caret-right"),C(),_(2,"spk-icon",16),y(3,"folder"),C())}function je(s,t){if(s&1&&F(0,$e,4,0)(1,Ve,3,0)(2,He,4,0),s&2){let e=f(2).$implicit;x(e.children.length?0:e.cls==="file"?1:2)}}function Ge(s,t){s&1&&(_(0,"spk-icon",16),y(1,"desktop-tower"),C())}function qe(s,t){s&1&&U(0)}function ze(s,t){if(s&1&&X(0,qe,1,0,"ng-container",10),s&2){let e=f(2).$implicit,i=f().$implicit;f();let n=Y(7);Q("ngTemplateOutlet",n)("ngTemplateOutletContext",V(5,Se,fe(2,Ae,e.children,i.level+1)))}}function Xe(s,t){if(s&1){let e=L();_(0,"div",14,3),I("click",function(){k(e);let n=f().$implicit,l=f(2);return R(l.toggleNode(n.id,n))}),_(2,"div",15),F(3,je,3,1)(4,Ge,2,0,"spk-icon",16),C(),_(5,"div",17),I("click",function(n){k(e);let l=f().$implicit,a=f(2);return R(a.toggleSelectedNode(n,l))}),y(6),C()(),F(7,ze,1,7,"ng-container")}if(s&2){let e=f().$implicit,i=f().$implicit,n=f();b("accepted",e.accepted===!0)("active",e.evalState===n.TreeEvalEnum.Included)("indeterminate",e.isIndeterminate)("open",e.children.length)("usually-hidden",e.hidden)("root",i.level===0),P(2),b("file",e.cls==="file"),P(),x(e.id!=="/"?3:4),P(3),he(" ",e.text," "),P(),x(e.children.length>0?7:-1)}}function Qe(s,t){if(s&1&&F(0,Xe,8,17),s&2){let e=t.$implicit,i=f(2);x(e.hidden&&i._showHiddenNodes()||!e.hidden?0:-1)}}function Ke(s,t){if(s&1&&(_(0,"spk-list"),oe(1,Qe,1,1,null,null,We),C()),s&2){let e=t.$implicit;ue("padding-left",e.level*.25,"rem"),P(),le(e.children)}}function Ue(s,t){s&1&&U(0)}function Je(s,t){if(s&1){let e=L();_(0,"spk-toggle",19),I("click",function(){k(e);let n=f();return R(n._showHiddenNodes.set(!n._showHiddenNodes()))}),B(1,6),C()}if(s&2){let e=f();b("active",e._showHiddenNodes()),P(),ae(e.showFiles()?"files":"folders"),ce(1)}}var Fe=(l=>(l[l.ExcludedByParent=-2]="ExcludedByParent",l[l.Excluded=-1]="Excluded",l[l.None=0]="None",l[l.Included=1]="Included",l[l.IncludedByParent=2]="IncludedByParent",l))(Fe||{}),T="/",te=class s{#t=z(be);#i=z(Me);multiSelect=v(!1);disabled=v(!1);showFiles=v(!1);selectFiles=v(!1);accepts=v(null);startingPath=v(null);rootPaths=v([]);initialNodes=v([]);backupSettings=v(null);pathRefreshTrigger=v(!1);showHiddenNodes=v(!1);hideShortcuts=v(!1);includes=Z();excludes=Z();_showHiddenNodes=S(!1);treeContainerRef=ee("treeContainer");formRef=ee("formRef");pathDiscoveryMethod=S("browse");isLoading=S(!1);currentPath=S("/");#n=S(null);treeSearchQuery=S("");treeNodes=S([]);isWindows=D(()=>this.#i.systemInfo()?.OSType==="Windows");pathDelimiter=D(()=>this.isWindows()?"\\":"/");filterGroups=this.#i.filterGroups();isByBackupSettings=D(()=>{let t=this.backupSettings();return!(t===void 0||t?.id===void 0||t?.time===void 0)});searchableTreeNodes=D(()=>{let t=this.treeSearchQuery();return t?this.treeNodes().filter(e=>e.text?.toLowerCase().includes(t.toLowerCase())):this.treeNodes()});TreeEvalEnum=Fe;treeStructure=D(()=>{let t=this.showHiddenNodes(),e=this.currentPath().split("\0").filter(r=>r!==""&&r!==T),i=structuredClone(e);for(let r=0;r<i.length;r++){let u=i[r].slice(1);if(u.startsWith("{")&&u.endsWith("}")){let p=u.slice(1,-1),c=this.filterGroups?.FilterGroups[p];if(c&&c.length){let E=c.map(h=>`-${h}`);i.splice(r,1,...E)}}}let n=this.searchableTreeNodes(),l=this.rootPaths(),a=this.accepts(),g=this.pathDelimiter(),o=[];return l.length>0?o=l.map(r=>{let d=this.#r(i,r,"folder",null);return{id:r,resolvedpath:r,text:r,parentPath:"",children:[],evalState:d,isIndeterminate:!1,cls:this.#e(r,g)?"folder":"file"}}):o=[{id:T,resolvedpath:T,text:$localize`Computer`,parentPath:"",children:[],evalState:0,isIndeterminate:!1,cls:"folder"}],o.map(r=>{let d=new Map,u=r?.id;a&&(r.accepted=!0),d.set(r.id,r);let p=l.length>0?n.filter(c=>c.parentPath.startsWith(r.id)):n;for(let c of p){let h=(l.length>0?c.id.replace(u??"",""):c.id).split(g).filter(Boolean),m="",M=r;for(let N of h){if(m+=N+g,!d.has(m)){let H=c.hidden===!0&&t?0:this.#r(i,c.id,c.cls,M),O={id:c.id,isIndeterminate:this.isIndeterminate(i,c.id),evalState:H,parentPath:m,resolvedpath:c.cls=="folder"?this.#a(c.resolvedpath):m,hidden:c.hidden,text:c.text,cls:c.cls,children:[]};a&&(O.accepted=this.matchAccepts(a,O)),d.set(m,O),M.children.push(O)}M=d.get(m)}}return r}),o});#a(t){let e=this.pathDelimiter();return t?t.endsWith(e)||t===T?t:t+e:T}#r(t,e,i,n){if(n&&n.evalState===-1)return-2;let l=0,a=this.pathDelimiter(),g=t.filter(d=>!d.startsWith("-")&&!d.startsWith("+")),o=t.filter(d=>d.startsWith("-")||d.startsWith("+")),r=this.multiSelect();if(g.length===0)return l;for(let d=0;d<g.length;d++){let u=g[d];if(e===u){l=1;break}if(!r||!this.#e(u,a))continue;if(e?.startsWith(u)){l=1;break}}if(o.length===0)return l;for(let d=0;d<o.length;d++){let u=o[d],p=u.slice(1),c=u.startsWith("-")?-1:1;if(this.#e(p,a)){if(i!=="folder")continue;if(e===p){l=c;break}}if(p.startsWith("*")&&p.endsWith(`*${a}`)){if(i!=="folder")continue;let h=p.slice(1,-2);if(h==="")break;if(e?.includes(h+a)){l=c;break}}if(p.startsWith("[.*")&&p.endsWith(`[^\\${a}]*]`)){if(i!=="file")continue;let h=p.slice(3,-7);if(new RegExp(h).test(e)){l=c;break}}if(p.startsWith("[")&&p.endsWith("]")){let h=p.slice(1,-1),m=this.translateCSharpRegex(h);if(new RegExp(`${m}`).test(e)){l=c;break}}if(p.startsWith("*.")){if(i!=="file"||p.replace("*.","").length===0)continue;if(this.#o(e,p,!0)){l=c;break}}if(p==="")continue;if(p===e){l=c;break}if(this.#o(e,p,!0)){l=c;break}}return l}translateCSharpRegex(t){let e=t;e=e.replace(/^@/,"");let i=/\(\?<(?<name>\w+)>(?<pattern>[^)]+)\)/g;return e=e.replace(i,(n,l,a)=>`(${a})`),e=e.replace(/\\/g,"\\\\"),e}isIndeterminate(t,e){return t.filter(i=>!i.startsWith("-")&&this.#e(i,this.pathDelimiter())).some(i=>i.startsWith(e))}#o(t,e,i=!1){let n=e.replace(/\*/g,".*").replace(/\?/g,".").replace(/\[!([^\]]+)\]/g,"[^$1]");return new RegExp(`${n}${i?"$":""}`).test(t)}showHiddenNodesEffect=A(()=>this._showHiddenNodes.set(this.showHiddenNodes()));pathDiscoveryMethodEffect=A(()=>{let t=this.pathDiscoveryMethod(),e=this.#n();t==="browse"&&e&&this.currentPath.set(e.value)});matchAccepts(t,e){if(!t||e.cls==="folder"||e.id===T)return!0;let i=t.split(",");if(i.length===0)return!0;let n="."+e.id.slice(e.id.indexOf("."));return n?i.some(l=>n.endsWith(l)):!1}currentPathEffect=A(()=>{let t=this.#n();t&&(t.value=this.currentPath(),t.dispatchEvent(new Event("input")))});inputValueChangeAbortController=null;inputRefEffect=A(()=>{let t=this.formRef()?.nativeElement?.querySelector("input");t&&(this.#d(t),this.inputValueChangeAbortController&&this.inputValueChangeAbortController.abort(),this.inputValueChangeAbortController=new AbortController,t.addEventListener("inputValueChanged",e=>{this.currentPath.set(e.detail.value)},{signal:this.inputValueChangeAbortController.signal}),this.#n.set(t),t.autocomplete="off")});ngOnInit(){let t=this.startingPath();if(t)this.currentPath.set(t),this.#h(t);else{let e=this.rootPaths(),i=this.initialNodes();e&&e.length>0?(i&&i.length>0&&this.treeNodes.set(i.map(n=>({id:n.id,leaf:n.leaf,cls:n.cls,text:n.text,iconCls:n.iconCls,fileSize:n.fileSize,resolvedpath:n.resolvedpath,parentPath:this.getParentPath(n.id??"")}))),this.#s(null,e[0])):this.#s(null,T)}}getParentPath(t){let e=this.pathDelimiter(),i=t.split(e);return i.length<=1?T:(i.pop(),i.length!==0&&i.pop(),i.join(e)+e)}toggleSelectedNode(t,e){if(e.id===T||(t.stopPropagation(),e.evalState===-2))return;if(this.selectFiles()&&e.cls==="folder"){this.toggleNode(e.id,e);return}if(this.accepts()&&!e.accepted)return;let n=this.currentPath().split("\0").filter(o=>o!==""&&o!==T),a=this.isChildOfSelected(e)?`-${e.id}`:e.id,g=this.#e(e.id,this.pathDelimiter());if(this.multiSelect())if(n.includes(e.id))this.currentPath.set(n.filter(o=>o!==e.id&&!(g&&o.startsWith(a))).join("\0"));else if(n.some(o=>o==a))this.currentPath.set(n.filter(o=>o!==a).join("\0"));else{let o=g?n.filter(r=>!r.startsWith(e.id)):n;this.currentPath.set([...o,a].join("\0"))}else n.includes(e.id)?this.currentPath.set(n.filter(o=>o!==e.id).join("\0")):this.currentPath.set(e.id)}isChildOfSelected(t){return this.currentPath().split("\0").filter(i=>i!==""&&i!==T&&this.#e(i,this.pathDelimiter())).some(i=>t.id?.startsWith(i)||`-${t.id}`.startsWith(i))}toggleNode(t,e=null){e?.cls==="folder"&&(e?.children.length?this.treeNodes.update(i=>i.filter(n=>!n.id?.startsWith(e.id)||n.id===e.id)):this.#s(e,t))}#c(){setTimeout(()=>{let e=this.treeContainerRef()?.nativeElement?.querySelector(".active");e&&e.scrollIntoView({behavior:"smooth",block:"center"})},100)}#d(t){return Object.defineProperty(t,"value",{configurable:!0,get(){return Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value").get.call(this)},set(e){return Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value").set.call(this,e),this.dispatchEvent(new CustomEvent("inputValueChanged",{bubbles:!0,cancelable:!0,detail:{value:e}})),e}}),t}#p(t){return this.#t.postApiV1Filesystem({showHidden:!0,requestBody:{path:t},onlyFolders:!this.showFiles()})}#u(t){let e=this.backupSettings();if(this.#i.hasV2ListOperations())return this.#t.postApiV2BackupListFolder({requestBody:{BackupId:e.id,Time:e.time,Paths:t?[t]:null,PageSize:0,Page:0}}).pipe(W(i=>i.Data??[]));{let i={id:e.id+"",prefixOnly:!1,folderContents:!0,time:e.time,filter:t?"@"+t:void 0};return this.#t.getApiV1BackupByIdFiles(i).pipe(W(n=>n.Files??[]))}}#l(t){return this.isByBackupSettings()?this.#u(t):this.#p(t)}#h(t){let e=this.pathDelimiter(),i=t.split("\0").filter(o=>o.startsWith("-")).map(o=>o.slice(1,-1)),n=t.split("\0").filter(o=>!o.startsWith("-")).filter(Boolean),l=n.map(o=>{let r=o.split(e);return r.at(-1)!==""&&r.pop(),r}),a=[T];l.forEach(o=>{o.forEach((r,d)=>{let u=o.slice(0,d+1).join(e);u!==""&&(a.includes(u)||a.push(u))})}),this.isLoading.set(!0);let g=a.map(o=>this.#l(o).pipe(W(r=>({status:"success",value:r,url:o})),se(r=>ie({status:"error",value:r,url:o}))));ne(g).pipe(q(()=>this.isLoading.set(!1))).subscribe({next:o=>{let r=o.filter(u=>u.status==="success"),d=o.filter(u=>u.status==="error");this.treeNodes.update(u=>{let p=r.flatMap(E=>E.value.map(h=>{let m=h.id,M=h.id.startsWith("%")&&h.id.endsWith("%")?h.resolvedpath+e:h.id,N=m&&m.split(e).filter(Boolean).slice(0,-1).join(e),H=m&&m.split(e).filter(Boolean).join(e),O=e+H,xe=n.findIndex(w=>this.multiSelect()?O.startsWith(w):O===w)>-1,ye=n.findIndex(w=>w===m)>-1,Ne=i.findIndex(w=>w===O)>-1;return G(j({},h),{cls:this.#e(M,e)||M==T?"folder":"file",parentPath:N.startsWith("%")?N:e+N,isSelected:xe&&!Ne||ye})})),c=[...new Map([...u,...p].map(E=>[E.id,E])).values()];return this.#c(),this.hideShortcuts()?c.filter(E=>!E.id.startsWith("%")):c})}})}#e(t,e){return t.startsWith("%")&&t.endsWith("%")||t.endsWith(e)}#s(t=null,e=T){let i=this.pathDelimiter();this.isLoading.set(!0),this.#l(e).pipe(q(()=>this.isLoading.set(!1))).subscribe({next:n=>{let l=this.isByBackupSettings()?n.map(a=>({text:a.Path.split(i).filter(g=>g!=="").pop(),id:a.Path,cls:this.#e(a.Path,i)?"folder":"file",leaf:t!==null,resolvedpath:a.Path,hidden:!1})):n;this.treeNodes.update(a=>{let g=l.map(r=>{let d=this.#e(r.id,i)?"folder":"file";return G(j({},r),{cls:d,parentPath:e})}),o=[...new Map([...a,...g].map(r=>[r.id,r])).values()];return this.hideShortcuts()?o.filter(r=>!r.id.startsWith("%")):o})}})}static \u0275fac=function(e){return new(e||s)};static \u0275cmp=re({type:s,selectors:[["app-file-tree"]],viewQuery:function(e,i){e&1&&(J(i.treeContainerRef,we,5),J(i.formRef,ke,5)),e&2&&pe(2)},hostVars:2,hostBindings:function(e,i){e&2&&b("disabled",i.disabled())},inputs:{multiSelect:[1,"multiSelect"],disabled:[1,"disabled"],showFiles:[1,"showFiles"],selectFiles:[1,"selectFiles"],accepts:[1,"accepts"],startingPath:[1,"startingPath"],rootPaths:[1,"rootPaths"],initialNodes:[1,"initialNodes"],backupSettings:[1,"backupSettings"],pathRefreshTrigger:[1,"pathRefreshTrigger"],showHiddenNodes:[1,"showHiddenNodes"],hideShortcuts:[1,"hideShortcuts"]},outputs:{includes:"includes",excludes:"excludes"},ngContentSelectors:Ie,decls:15,vars:15,consts:()=>{let t;t=$localize` Browse path `;let e;e=$localize` Manually type path `;let i;return i=$localize` Show hidden ${"\uFFFD0\uFFFD"}:INTERPOLATION: `,[["treeContainer",""],["recursiveTree",""],["formRef",""],["treeNode",""],t,e,i,[1,"section"],[1,"browse-files"],[1,"indeterminate","primary"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"primary","raised","browse-files-toggle",3,"active"],[1,"form-field"],["type","button",3,"click"],["action","",3,"click"],[1,"icon"],[1,"primary"],[1,"text",3,"click"],[1,"small"],[1,"primary","raised","browse-files-toggle",3,"click"]]},template:function(e,i){if(e&1&&(de(Re),F(0,Le,5,4,"spk-button-group"),_(1,"div",7),$(2,0,["ngProjectAs","label",5,["label"]]),_(3,"div",8,0),F(5,Be,1,0,"spk-progress-bar",9),X(6,Ke,3,2,"ng-template",null,1,_e)(8,Ue,1,0,"ng-container",10),C(),F(9,Je,2,3,"spk-toggle",11),C(),_(10,"div",12,2)(12,"spk-form-field"),$(13,1,["ngProjectAs","label",5,["label"]]),$(14,2,["ngProjectAs","input",5,["input"]]),C()()),e&2){let n=Y(7);x(i.multiSelect()?-1:0),P(),b("hidden",i.pathDiscoveryMethod()!=="browse"),P(2),b("visualize-accepted",i.accepts()),P(2),x(i.isLoading()?5:-1),P(3),Q("ngTemplateOutlet",n)("ngTemplateOutletContext",V(13,Se,V(11,De,i.treeStructure()))),P(),x(!i.accepts()&&!i.isByBackupSettings()?9:-1),P(),b("hidden",i.pathDiscoveryMethod()!=="path")}},dependencies:[Ce,Ee,me,Pe,Te,ve,ge,Oe],styles:['[_nghost-%COMP%]{display:flex;flex-direction:column;gap:1rem}.disabled[_nghost-%COMP%]{opacity:.5;-webkit-user-select:none;user-select:none;pointer-events:none;position:relative}.disabled[_nghost-%COMP%]:before{content:"";position:absolute;inset:0;background:transparent}.fill[_nghost-%COMP%]{height:auto;overflow:hidden;flex:1 0}.fill[_nghost-%COMP%] .section[_ngcontent-%COMP%]{height:auto;overflow:hidden;flex:1 0;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;grid-template-areas:"label toggle" "tree tree"}.fill[_nghost-%COMP%] .browse-files[_ngcontent-%COMP%]{resize:none;height:initial;grid-area:tree}.fill[_nghost-%COMP%] label[_ngcontent-%COMP%]{grid-area:label}.fill[_nghost-%COMP%] spk-toggle[_ngcontent-%COMP%]{grid-area:toggle;flex-direction:row-reverse}.section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.form-field.hidden[_ngcontent-%COMP%]{display:none}.browse-files[_ngcontent-%COMP%]{display:flex;gap:.5rem;padding:.5rem 1rem;height:12.5rem;border:1px solid var(--base-4);border-radius:var(--shape-3);overflow:auto;resize:vertical;background:var(--base-1);position:relative}.browse-files[_ngcontent-%COMP%] spk-progress-bar[_ngcontent-%COMP%]{position:absolute;top:0;left:0;right:0}.browse-files.visualize-accepted[_ngcontent-%COMP%] [action][_ngcontent-%COMP%]:not(.accepted){opacity:.5}.browse-files.visualize-accepted[_ngcontent-%COMP%] [action].accepted[_ngcontent-%COMP%]{opacity:1}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%]{--list-active-bg: var(--base-3);gap:.125rem;padding:0;height:min-content;min-width:min-content}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%]{padding:0;gap:0;border:1px solid transparent}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action].active[_ngcontent-%COMP%]{border-color:transparent;--list-active-bg: var(--primary-2)}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action].indeterminate[_ngcontent-%COMP%]{border-color:var(--primary-4)}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action].usually-hidden[_ngcontent-%COMP%]{opacity:.6}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action].root[_ngcontent-%COMP%]{gap:.25rem}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action].root[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]:has(spk-icon:nth-child(2)){width:3rem}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action].root[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{width:1.5rem}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{flex:1 0;height:100%;width:max-content;display:flex;align-items:center}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{width:3rem;gap:.25rem;height:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%] .icon.file[_ngcontent-%COMP%]{width:3rem;padding:0 .25rem}.browse-files-toggle[_ngcontent-%COMP%]{color:var(--base-9)}.hidden[_ngcontent-%COMP%]{display:none}'],changeDetection:0})};export{te as a};
|
package/chunk-XPQBJ7EY.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as Ue}from"./chunk-EL7ZWMW3.js";import{a as ze}from"./chunk-BCHZRC5K.js";import{b as Xe,c as ue}from"./chunk-LDIZ5E5Z.js";import"./chunk-MFURKVTP.js";import{a as Ke}from"./chunk-KZQCOYF7.js";import"./chunk-JM7VAPIC.js";import"./chunk-2BX65XJQ.js";import"./chunk-RHW5QVAY.js";import"./chunk-6JQM2X3B.js";import{a as Z}from"./chunk-WXARH2SG.js";import"./chunk-NSIELNIY.js";import"./chunk-FZG6OXT3.js";import{b as ye,e as Be}from"./chunk-2W6BEUGU.js";import"./chunk-JFOXV66M.js";import{a as j,g as se,j as xe,k as be,p as Fe,y as he}from"./chunk-Y5IRBMLB.js";import{h as pe}from"./chunk-DNJOKPEL.js";import"./chunk-UZK7ABRM.js";import{la as W,oa as re}from"./chunk-CWLTHXVS.js";import"./chunk-WIDMAJIO.js";import{a as ee}from"./chunk-AM7RYTIO.js";import"./chunk-B6OIHB5W.js";import{Ab as s,Bb as P,Cb as G,Eb as K,Hc as ve,Kb as L,Lb as S,Mb as _,Nb as p,Nc as _e,Ob as u,Pb as D,Qa as l,Qb as $,Rb as E,Z as B,ab as z,bc as f,da as M,ea as R,ec as g,fc as U,gc as I,hc as $e,ic as fe,mc as Ie,na as N,nc as ke,oc as V,r as X,sb as C,tb as m,ub as x,vb as b,wb as h,wc as c,xb as w,xc as T,yb as a,yc as A,zb as i,zc as k}from"./chunk-BTMXQPBB.js";import{a as le}from"./chunk-EUDKD2JW.js";function We(n,t){n&1&&s(0,"spk-progress-bar",32)}function je(n,t){n&1&&s(0,"div",35)}function Je(n,t){n&1&&s(0,"div",35)}function qe(n,t){n&1&&s(0,"div",36)}function He(n,t){n&1&&s(0,"div",37)}function Qe(n,t){if(n&1&&(a(0,"details",46)(1,"summary"),L(2,15),s(3,"spk-icon"),a(4,"div",47),s(5,"spk-icon",40),i(),S(),i(),a(6,"div",48)(7,"p"),_(8,16),c(9,"date"),i(),a(10,"p"),_(11,17),c(12,"date"),i(),a(13,"p"),_(14,18),c(15,"durationFormat"),i(),a(16,"p"),_(17,19),i(),s(18,"spk-divider"),a(19,"p"),_(20,20),i(),a(21,"p"),_(22,21),i()()(),a(23,"details",46)(24,"summary"),L(25,22),s(26,"spk-icon"),a(27,"div",47),s(28,"spk-icon",40),i(),S(),i(),a(29,"div",48)(30,"p"),_(31,23),c(32,"date"),i(),a(33,"p"),_(34,24),c(35,"date"),i(),a(36,"p"),_(37,25),c(38,"durationFormat"),i(),s(39,"spk-divider"),a(40,"p"),_(41,26),c(42,"bytes"),i(),a(43,"p"),_(44,27),c(45,"bytes"),i(),a(46,"p"),_(47,28),c(48,"bytes"),i(),s(49,"spk-divider"),a(50,"p"),_(51,29),i(),a(52,"p"),_(53,30),i()()()),n&2){let e=E(2).$implicit;l(9),p(A(9,17,e.data==null||e.data.TestResults==null?null:e.data.TestResults.BeginTime,"medium")),u(8),l(3),p(A(12,20,e.data==null||e.data.TestResults==null?null:e.data.TestResults.EndTime,"medium")),u(11),l(3),p(T(15,23,e.data==null||e.data.TestResults==null?null:e.data.TestResults.Duration)),u(14),l(2),p(e.data==null||e.data.TestResults==null?null:e.data.TestResults.VerificationsActualLength),u(17),l(3),p(e.data==null||e.data.TestResults==null?null:e.data.TestResults.WarningsActualLength),u(20),l(2),p(e.data==null||e.data.TestResults==null?null:e.data.TestResults.ErrorsActualLength),u(22),l(10),p(A(32,25,e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.BeginTime,"medium")),u(31),l(3),p(A(35,28,e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.EndTime,"medium")),u(34),l(3),p(T(38,31,e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.Duration)),u(37),l(4),p(e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.DeletedFileCount)(k(42,33,e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.DeletedFileSize,!0,!0)),u(41),l(3),p(e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.DownloadedFileCount)(k(45,37,e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.DownloadedFileSize,!0,!0)),u(44),l(3),p(e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.UploadedFileCount)(k(48,41,e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.UploadedFileSize,!0,!0)),u(47),l(3),p(e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.WarningsActualLength),u(51),l(2),p(e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.ErrorsActualLength),u(53)}}function Ye(n,t){if(n&1&&(a(0,"code"),g(1),c(2,"json"),i()),n&2){let e=t.$implicit;l(),U(T(2,1,e))}}function Ze(n,t){if(n&1&&(a(0,"details",46)(1,"summary"),L(2,31),s(3,"spk-icon"),a(4,"div",47),s(5,"spk-icon",40),i(),S(),i(),a(6,"div",48),b(7,Ye,3,3,"code",null,x),i()()),n&2){let e=E(2).$implicit;l(5),p(e.data.VerificationsActualLength),u(2),l(2),h(e.data.Verifications)}}function en(n,t){if(n&1&&(a(0,"code"),g(1),c(2,"json"),i()),n&2){let e=t.$implicit;l(),U(T(2,1,e))}}function nn(n,t){n&1&&(a(0,"p"),g(1,"No errors"),i())}function tn(n,t){if(n&1&&(a(0,"code"),g(1),c(2,"json"),i()),n&2){let e=t.$implicit;l(),U(T(2,1,e))}}function on(n,t){if(n&1&&(a(0,"section",41)(1,"app-toggle-card",42),P(2,43),a(3,"h3"),_(4,0),i(),G(),P(5,44),a(6,"p"),_(7,1),c(8,"date"),i(),a(9,"p"),_(10,2),c(11,"date"),i(),a(12,"p"),_(13,3),c(14,"durationFormat"),i(),G(),i(),a(15,"app-toggle-card",42),P(16,43),a(17,"h3"),_(18,4),i(),G(),P(19,44),a(20,"p"),_(21,5),c(22,"bytes"),i(),a(23,"p"),_(24,6),c(25,"bytes"),i(),a(26,"p"),_(27,7),c(28,"bytes"),i(),a(29,"p"),_(30,8),c(31,"bytes"),i(),a(32,"p"),_(33,9),i(),a(34,"p"),_(35,10),i(),a(36,"p"),_(37,11),i(),G(),i(),a(38,"div",45),s(39,"spk-divider"),C(40,Qe,54,45),C(41,Ze,9,1,"details",46),a(42,"details",46)(43,"summary"),L(44,12),s(45,"spk-icon"),a(46,"div",47),s(47,"spk-icon",40),i(),S(),i(),a(48,"div",48),b(49,en,3,3,"code",null,x),i()(),a(51,"details",46)(52,"summary"),L(53,13),s(54,"spk-icon"),a(55,"div",47),s(56,"spk-icon",40),i(),S(),i(),a(57,"div",48),C(58,nn,2,0,"p"),b(59,tn,3,3,"code",null,x),i()(),s(61,"spk-divider"),a(62,"details")(63,"summary"),L(64,14),s(65,"spk-icon"),a(66,"div",47),s(67,"spk-icon",40),i(),S(),i(),a(68,"code")(69,"button",49),g(70,"Copy"),i(),g(71),c(72,"json"),i()()()()),n&2){let e=E().$implicit;l(),w("disallowToggle",!0),l(7),p(A(8,22,e.data==null?null:e.data.BeginTime,"medium")),u(7),l(3),p(A(11,25,e.data==null?null:e.data.EndTime,"medium")),u(10),l(3),p(T(14,28,e.data==null?null:e.data.Duration)),u(13),l(),w("disallowToggle",!0),l(7),p(e.data==null?null:e.data.ExaminedFiles)(k(22,30,e.data==null?null:e.data.SizeOfExaminedFiles,!0,!0)),u(21),l(3),p(e.data==null?null:e.data.OpenedFiles)(k(25,34,e.data==null?null:e.data.SizeOfOpenedFiles,!0,!0)),u(24),l(3),p(e.data==null?null:e.data.AddedFiles)(k(28,38,e.data==null?null:e.data.SizeOfAddedFiles,!0,!0)),u(27),l(3),p(e.data==null?null:e.data.ModifiedFiles)(k(31,42,e.data==null?null:e.data.SizeOfModifiedFiles,!0,!0)),u(30),l(2),p(e.data==null?null:e.data.DeletedFiles),u(33),l(2),p(e.data==null?null:e.data.TooLargeFiles),u(35),l(2),p(e.data==null?null:e.data.FilesWithError),u(37),l(3),m(e.data!=null&&e.data.TestResults?40:-1),l(),m((e.data==null?null:e.data.MainOperation)==="Test"?41:-1),l(6),p(e.data==null?null:e.data.WarningsActualLength),u(44),l(2),h(e.data==null?null:e.data.Warnings),l(7),p(e.data==null?null:e.data.ErrorsActualLength),u(53),l(2),m((e.data==null||e.data.Errors==null?null:e.data.Errors.length)===0?58:-1),l(),h(e.data==null?null:e.data.Errors),l(12),I(" ",T(72,46,e.data)," ")}}function an(n,t){if(n&1){let e=K();a(0,"article",33)(1,"header",34),$("click",function(){let r=M(e).$implicit,d=E();return R(d.toggleOpenEntry(r.id))}),C(2,je,1,0,"div",35)(3,Je,1,0,"div",35)(4,qe,1,0,"div",36)(5,He,1,0,"div",37),a(6,"h3"),g(7),c(8,"date"),i(),a(9,"p"),g(10),i(),s(11,"div",38),a(12,"div",39)(13,"spk-icon",40),g(14,"caret-down"),i()()(),C(15,on,73,48,"section",41),i()}if(n&2){let e=t.$implicit,o=E(),r=(e.data==null?null:e.data.ParsedResult)||"Unknown";l(2),m(r=="Fatal"?2:r=="Error"?3:r=="Warning"?4:5),l(5),U(A(8,7,e.timestamp,"medium")),l(3),$e(" ",e.data==null?null:e.data.MainOperation," ",o.getLocalizedSummary(e)," "),l(3),f("open",e.id===o.openEntry()),l(2),m(e.id===o.openEntry()?15:-1)}}var ce=class n{#e=B(pe);#n=new Z;#t=new ee;backupId=_e.required();openEntry=N(null);pagination=N({offset:0,pagesize:100});resource=ue({params:()=>le({id:this.backupId()},this.pagination()),stream:({params:t})=>this.#e.getApiV1BackupByIdLog({id:t.id,pagesize:100}).pipe(X(e=>e.map(o=>({id:o.ID,operationId:o.OperationID,timestamp:o.Timestamp*1e3,type:o.Type,data:JSON.parse(o.Message),exception:JSON.stringify(o.Exception)==="{}"?null:o.Exception}))))});getLocalizedSummary(t){let e=t.data?.ErrorsActualLength??0,o=t.data?.WarningsActualLength??0,r=[];if(t.data?.MainOperation=="Backup"){if(t.data?.Duration){let d=this.#t.transform(t.data?.Duration,!0);d.startsWith("0h ")&&(d=d.slice(3)),d.startsWith("0m ")&&(d=d.slice(3)),r.push($localize`took ${d}`)}t.data?.BackendStatistics?.BytesUploaded&&r.push($localize`uploaded ${this.#n.transform(t.data?.BackendStatistics?.BytesUploaded)}`),t.data?.BackendStatistics?.KnownFileSize&&r.push($localize`backup size ${this.#n.transform(t.data?.BackendStatistics?.KnownFileSize)}`)}return e!==0&&r.push($localize`:@@errorCount:${e} error${e===1?"":"s"}`),o!==0&&r.push($localize`:@@warningCount:${o} warning${o===1?"":"s"}`),r.length===0?"":`(${r.join(", ")})`}toggleOpenEntry(t){if(this.openEntry()===t){this.openEntry.set(null);return}this.openEntry.set(t)}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=z({type:n,selectors:[["app-general-log"]],inputs:{backupId:[1,"backupId"]},decls:3,vars:1,consts:()=>{let t;t=$localize`Time`;let e;e=$localize`Start: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let o;o=$localize`End: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let r;r=$localize`Duration: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let d;d=$localize`Source files`;let v;v=$localize` Evaluated: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let y;y=$localize`Opened: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:)`;let J;J=$localize`Added: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:)`;let q;q=$localize` Modified: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let H;H=$localize`Deleted: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Q;Q=$localize`Too large: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Y;Y=$localize`Files with error: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let O;O=$localize`${"\uFFFD#45\uFFFD"}:START_TAG_SPK_ICON:warning-circle${"[\uFFFD/#45\uFFFD|\uFFFD/#47\uFFFD]"}:CLOSE_TAG_SPK_ICON: Warnings ${"\uFFFD0\uFFFD"}:INTERPOLATION: ${"\uFFFD#46\uFFFD"}:START_TAG_DIV:${"\uFFFD#47\uFFFD"}:START_TAG_SPK_ICON_1:caret-down${"[\uFFFD/#45\uFFFD|\uFFFD/#47\uFFFD]"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/#46\uFFFD"}:CLOSE_TAG_DIV:`,O=D(O);let ne;ne=$localize`${"\uFFFD#54\uFFFD"}:START_TAG_SPK_ICON:warning${"[\uFFFD/#54\uFFFD|\uFFFD/#56\uFFFD]"}:CLOSE_TAG_SPK_ICON: Errors ${"\uFFFD0\uFFFD"}:INTERPOLATION: ${"\uFFFD#55\uFFFD"}:START_TAG_DIV:${"\uFFFD#56\uFFFD"}:START_TAG_SPK_ICON_1:caret-down${"[\uFFFD/#54\uFFFD|\uFFFD/#56\uFFFD]"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/#55\uFFFD"}:CLOSE_TAG_DIV:`,ne=D(ne);let te;te=$localize`${"\uFFFD#65\uFFFD"}:START_TAG_SPK_ICON:notepad${"[\uFFFD/#65\uFFFD|\uFFFD/#67\uFFFD]"}:CLOSE_TAG_SPK_ICON: Complete log ${"\uFFFD#66\uFFFD"}:START_TAG_DIV:${"\uFFFD#67\uFFFD"}:START_TAG_SPK_ICON_1:caret-down${"[\uFFFD/#65\uFFFD|\uFFFD/#67\uFFFD]"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/#66\uFFFD"}:CLOSE_TAG_DIV:`,te=D(te);let ie;ie=$localize`${"\uFFFD#3\uFFFD"}:START_TAG_SPK_ICON:circle-half-tilt${"[\uFFFD/#3\uFFFD|\uFFFD/#5\uFFFD]"}:CLOSE_TAG_SPK_ICON: Test phase ${"\uFFFD#4\uFFFD"}:START_TAG_DIV:${"\uFFFD#5\uFFFD"}:START_TAG_SPK_ICON_1:caret-down${"[\uFFFD/#3\uFFFD|\uFFFD/#5\uFFFD]"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_DIV:`,ie=D(ie);let Ee;Ee=$localize`Start: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Ce;Ce=$localize`End: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let me;me=$localize`Duration: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Oe;Oe=$localize`Verifications: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Te;Te=$localize`Warnings: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Le;Le=$localize`Errors: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let oe;oe=$localize`${"\uFFFD#26\uFFFD"}:START_TAG_SPK_ICON:file-archive${"[\uFFFD/#26\uFFFD|\uFFFD/#28\uFFFD]"}:CLOSE_TAG_SPK_ICON: Compact phase ${"\uFFFD#27\uFFFD"}:START_TAG_DIV:${"\uFFFD#28\uFFFD"}:START_TAG_SPK_ICON_1:caret-down${"[\uFFFD/#26\uFFFD|\uFFFD/#28\uFFFD]"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/#27\uFFFD"}:CLOSE_TAG_DIV:`,oe=D(oe);let Se;Se=$localize`Start: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Ae;Ae=$localize`End: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Pe;Pe=$localize`Duration: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Ge;Ge=$localize` Deleted files: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let Ne;Ne=$localize` Downloaded files: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let De;De=$localize` Uploaded files: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let Me;Me=$localize`Warnings: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Re;Re=$localize`Errors: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let ae;return ae=$localize`${"\uFFFD#3\uFFFD"}:START_TAG_SPK_ICON:warning-circle${"[\uFFFD/#3\uFFFD|\uFFFD/#5\uFFFD]"}:CLOSE_TAG_SPK_ICON: Verifications ${"\uFFFD0\uFFFD"}:INTERPOLATION: ${"\uFFFD#4\uFFFD"}:START_TAG_DIV:${"\uFFFD#5\uFFFD"}:START_TAG_SPK_ICON_1:caret-down${"[\uFFFD/#3\uFFFD|\uFFFD/#5\uFFFD]"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_DIV:`,ae=D(ae),[t,e,o,r,d,v,y,J,q,H,Q,Y,O,ne,te,ie,Ee,Ce,me,Oe,Te,Le,oe,Se,Ae,Pe,Ge,Ne,De,Me,Re,ae,[1,"indeterminate","primary"],[1,"log-entry"],[3,"click"],[1,"status","error"],[1,"status","warn"],[1,"status"],[1,"spacer"],[1,"action"],[1,"toggle-indicator"],[1,"log-content"],[3,"disallowToggle"],["title",""],["content",""],[1,"extra-info"],["name","details"],[1,"actions"],[1,"content"],["spk-button","",1,"small"]]},template:function(e,o){e&1&&(C(0,We,1,0,"spk-progress-bar",32),b(1,an,16,10,"article",33,x)),e&2&&(m(o.resource.isLoading()?0:-1),l(),h(o.resource.value()))},dependencies:[ze,be,Fe,se,j,Z,W,ee,re],styles:["[_nghost-%COMP%]{display:block}.log-entry[_ngcontent-%COMP%]{display:flex;flex-direction:column;cursor:pointer}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:1rem;border-bottom:1px solid var(--base-4);background-color:var(--base-1);cursor:pointer}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%]:hover{background-color:var(--base-2)}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font:var(--paragraph-30);margin:0}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font:var(--paragraph-30);color:var(--base-8)}.toggle-indicator[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;height:1.25rem;transition:transform 125ms linear}.toggle-indicator.open[_ngcontent-%COMP%]{transform:rotate(180deg)}details[_ngcontent-%COMP%]{display:flex;flex-direction:column}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]{cursor:pointer;display:flex;align-items:center;gap:.5rem;padding:.75rem;border-radius:var(--shape-2);background-color:var(--base-2)}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]:focus{outline:none}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]:hover{background-color:var(--base-3)}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]::marker{font-size:0}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;flex:1 0;gap:.5rem;-webkit-user-select:none;user-select:none}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;height:2rem;transition:transform 125ms linear}details[open][_ngcontent-%COMP%] summary[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{transform:rotate(180deg)}details[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:.75rem 1rem 0;display:flex;flex-direction:column;gap:.75rem}details[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0}details[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{margin-top:.75rem;position:relative}details[_ngcontent-%COMP%] code[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{position:absolute;top:.75rem;right:.75rem}.extra-info[_ngcontent-%COMP%]{grid-column:1/-1;display:flex;flex-direction:column;gap:1rem}.extra-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.extra-info[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{white-space:pre-wrap;padding:1rem;display:block;border-radius:var(--shape-2);background-color:var(--base-2)}.log-content[_ngcontent-%COMP%]{padding:1rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem}.status[_ngcontent-%COMP%]{display:block;width:1rem;height:1rem;background-color:var(--success-8);border-radius:50%}.status.error[_ngcontent-%COMP%]{background-color:var(--error-8)}.status.warn[_ngcontent-%COMP%]{background-color:var(--warn-8)}"],changeDetection:0})};function ln(n,t){n&1&&s(0,"spk-progress-bar",1)}function _n(n,t){n&1&&(L(0,0,1),s(1,"spk-icon"),S())}function rn(n,t){n&1&&(L(0,0,2),s(1,"spk-icon"),S())}function sn(n,t){if(n&1){let e=K();a(0,"section",6)(1,"button",7),$("click",function(){M(e);let r=E(),d=r.$implicit,v=r.$index,y=E();return R(y.copyToClipboard(d.data,v))}),L(2,0),C(3,_n,2,0)(4,rn,2,0),S(),i(),a(5,"code"),g(6),c(7,"json"),i()()}if(n&2){let e=E(),o=e.$implicit,r=e.$index,d=E();l(),f("success",d.copiedFromIndex()===r),l(2),m(d.copiedFromIndex()===r?3:4),l(3),U(T(7,4,o.data))}}function Fn(n,t){if(n&1){let e=K();a(0,"article",2)(1,"header",3),$("click",function(){let r=M(e).$implicit,d=E();return R(d.toggleOpenEntry(r.id))}),a(2,"h3"),g(3),c(4,"date"),i(),a(5,"div",4)(6,"spk-icon",5),g(7,"caret-down"),i()()(),C(8,sn,8,6,"section",6),i()}if(n&2){let e=t.$implicit,o=E();l(3),fe("",A(4,6,e.timestamp,"medium"),": ",e.operation," ",e.path),l(3),f("open",e.id===o.openEntry()),l(2),m(e.id===o.openEntry()?8:-1)}}var de=class n{#e=B(pe);backupId=_e.required();openEntry=N(null);pagination=N({offset:0,pagesize:100});copiedFromIndex=N(null);resource=ue({params:()=>le({id:this.backupId()},this.pagination()),stream:({params:t})=>this.#e.getApiV1BackupByIdRemotelog({id:t.id,pagesize:100}).pipe(X(e=>e.map((o,r)=>({id:o.ID,operationId:o.OperationID,timestamp:o.Timestamp*1e3,operation:o.Operation,path:o.Path,data:typeof o.Data=="string"?JSON.parse(o.Data):null}))))});toggleOpenEntry(t){if(this.openEntry()===t){this.openEntry.set(null);return}this.openEntry.set(t)}copyToClipboard(t,e){let o=JSON.stringify(t,null,2);navigator.clipboard.writeText(o),this.copiedFromIndex.set(e),setTimeout(()=>{this.copiedFromIndex.set(null)},3e3)}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=z({type:n,selectors:[["app-remote-log"]],inputs:{backupId:[1,"backupId"]},decls:3,vars:1,consts:()=>{let t;return t=$localize`${"\uFFFD*3:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:check${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Copied ${"\uFFFD/*3:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*4:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:copy${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Copy to clipboard ${"\uFFFD/*4:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,t=D(t),[t,[1,"indeterminate","primary"],[1,"log-entry"],[3,"click"],[1,"actions"],[1,"toggle-indicator"],[1,"log-content"],["spk-button","",1,"small",3,"click"]]},template:function(e,o){e&1&&(C(0,ln,1,0,"spk-progress-bar",1),b(1,Fn,9,9,"article",2,x)),e&2&&(m(o.resource.isLoading()?0:-1),l(),h(o.resource.value()))},dependencies:[re,Fe,j,W],styles:["[_nghost-%COMP%]{display:block}.log-entry[_ngcontent-%COMP%]{display:flex;flex-direction:column}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:1rem;border-bottom:1px solid var(--base-4);background-color:var(--base-1);cursor:pointer}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%]:hover{background-color:var(--base-2)}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font:var(--paragraph-30);margin:0;-webkit-user-select:none;user-select:none}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font:var(--paragraph-30);color:var(--base-8)}.toggle-indicator[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;height:1.25rem;transition:transform 125ms linear}.toggle-indicator.open[_ngcontent-%COMP%]{transform:rotate(180deg)}.log-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:1rem;position:relative}.log-content[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{position:absolute;top:2rem;right:2rem;background:transparent}code[_ngcontent-%COMP%]{white-space:pre-wrap;padding:1rem;display:block;border-radius:var(--shape-2);background-color:var(--base-2)}"],changeDetection:0})};function pn(n,t){if(n&1&&(g(0," - "),P(1),_(2,6),G(),g(3),c(4,"durationFormat")),n&2){E(2);let e=V(6);l(3),I(" ",T(4,1,e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.LastBackupDuration)," ")}}function un(n,t){n&1&&(P(0),_(1,7),G())}function cn(n,t){if(n&1&&(g(0),c(1,"bytes")),n&2){E(2);let e=V(6);I(" ",T(1,1,e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.SourceFilesSize)," ")}}function dn(n,t){n&1&&(P(0),_(1,8),G())}function gn(n,t){if(n&1&&(g(0),c(1,"bytes")),n&2){E(2);let e=V(6);I(" ",T(1,1,e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.TargetFilesSize)," ")}}function En(n,t){n&1&&(P(0),_(1,9),G())}function Cn(n,t){if(n&1&&(a(0,"spk-chip",19),_(1,10),i()),n&2){E(2);let e=V(6);l(),p(e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.BackupListCount),u(1)}}function mn(n,t){n&1&&(a(0,"spk-chip",20),_(1,11),i())}function On(n,t){if(n&1&&(a(0,"div",14)(1,"div",18)(2,"h3"),g(3),a(4,"spk-icon"),g(5,"database"),i()(),a(6,"p")(7,"span"),_(8,3),i(),g(9),c(10,"date"),C(11,pn,5,3)(12,un,2,0,"ng-container"),i(),a(13,"p")(14,"span"),_(15,4),i(),C(16,cn,2,3)(17,dn,2,0,"ng-container"),i(),a(18,"p")(19,"span"),_(20,5),i(),C(21,gn,2,3)(22,En,2,0,"ng-container"),i()(),C(23,Cn,2,1,"spk-chip",19)(24,mn,2,0,"spk-chip",20),i()),n&2){let e=E(),o=V(6);l(3),I(" ",(o.Backup==null?null:o.Backup.Name)??e.MISSING_BACKUP_NAME," "),l(6),I(" ",A(10,6,o.Backup==null||o.Backup.Metadata==null?null:o.Backup.Metadata.LastBackupDate,"short")," "),l(2),m(!(o.Backup==null||o.Backup.Metadata==null)&&o.Backup.Metadata.LastBackupDuration?11:12),l(5),m(!(o.Backup==null||o.Backup.Metadata==null)&&o.Backup.Metadata.SourceFilesSize?16:17),l(5),m(!(o.Backup==null||o.Backup.Metadata==null)&&o.Backup.Metadata.TargetFilesSize?21:22),l(2),m(!(o.Backup==null||o.Backup.Metadata==null)&&o.Backup.Metadata.BackupListCount?23:24)}}function Tn(n,t){if(n&1&&s(0,"app-general-log",17),n&2){let e=E();w("backupId",e.backupId())}}function Ln(n,t){if(n&1&&s(0,"app-remote-log",17),n&2){let e=E();w("backupId",e.backupId())}}var ge=class n{#e=B(ye);#n=B(Ke);MISSING_BACKUP_NAME=$localize`Backup name missing`;activeTab=N("general");backupId=Xe(this.#e.params.pipe(X(t=>t.id)));backup=ve(()=>{let t=this.backupId();return t?this.#n.getBackupById(t):null});static \u0275fac=function(e){return new(e||n)};static \u0275cmp=z({type:n,selectors:[["app-log"]],decls:15,vars:8,consts:()=>{let t;t=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_ICON: Back `;let e;e=$localize`General`;let o;o=$localize` Destination `;let r;r=$localize`Last successful backup:`;let d;d=$localize`Source:`;let v;v=$localize`Destination:`;let y;y=$localize`took`;let J;J=$localize`N/A`;let q;q=$localize`N/A`;let H;H=$localize`N/A`;let Q;Q=$localize`${"\uFFFD0\uFFFD"}:INTERPOLATION: Version`;let Y;return Y=$localize`No version yet`,[t,e,o,r,d,v,y,J,q,H,Q,Y,[1,"back"],["type","button","spk-button","","routerLink","/",1,"small"],[1,"backup"],[1,"primary"],["tab","",3,"click"],[3,"backupId"],[1,"text"],[1,"simple","success"],[1,"simple"]]},template:function(e,o){if(e&1){let r=K();s(0,"app-status-bar"),a(1,"section")(2,"div",12)(3,"button",13),L(4,0),s(5,"spk-icon"),S(),i()(),Ie(6),C(7,On,25,9,"div",14),a(8,"spk-tabs",15)(9,"button",16),$("click",function(){return M(r),R(o.activeTab.set("general"))}),_(10,1),i(),a(11,"button",16),$("click",function(){return M(r),R(o.activeTab.set("destination"))}),_(12,2),i()(),C(13,Tn,1,1,"app-general-log",17),C(14,Ln,1,1,"app-remote-log",17),i()}if(e&2){l(6);let r=ke(o.backup());l(),m(r?7:-1),l(2),f("active",o.activeTab()==="general"),l(2),f("active",o.activeTab()==="destination"),l(2),m(o.activeTab()==="general"?13:-1),l(),m(o.activeTab()==="destination"?14:-1)}},dependencies:[he,ce,de,Be,Z,ee,W,Ue,j,se,xe],styles:["[_nghost-%COMP%]{display:block}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:1rem 1.5rem;gap:1rem}spk-tabs[_ngcontent-%COMP%]{margin-bottom:1rem}.backup[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:2rem;gap:1rem;border:1px solid var(--base-4);border-radius:var(--shape-3);box-shadow:var(--box-shadow-10)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:40%}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{color:var(--base-8)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font:var(--paragraph-30);color:var(--base-8)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] p[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:var(--base-12)}"],changeDetection:0})};export{ge as default};
|
package/chunk-YONVHISY.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as re}from"./chunk-LDIZ5E5Z.js";import{a as ne}from"./chunk-KZQCOYF7.js";import"./chunk-JM7VAPIC.js";import{a as ie}from"./chunk-2BX65XJQ.js";import"./chunk-RHW5QVAY.js";import"./chunk-6JQM2X3B.js";import{a as te}from"./chunk-WXARH2SG.js";import{b as oe,e as ae,i as le,s as _e}from"./chunk-NSIELNIY.js";import"./chunk-FZG6OXT3.js";import{d as q,e as H}from"./chunk-2W6BEUGU.js";import"./chunk-JFOXV66M.js";import{a as J,e as Q,g as Y,i as Z}from"./chunk-Y5IRBMLB.js";import{h as ee}from"./chunk-DNJOKPEL.js";import"./chunk-CWLTHXVS.js";import"./chunk-WIDMAJIO.js";import{B as y,Eb as g,H as O,Hc as B,Mb as c,Nb as D,Nc as j,Ob as S,Pb as F,Qa as r,Qb as x,Rb as p,Z as E,ab as $,bc as I,da as C,ea as m,ec as u,jc as h,kc as L,lc as M,mc as w,n as U,na as P,nc as G,oc as X,r as K,sb as f,sc as v,tb as T,tc as z,wc as V,xb as A,yb as i,zb as o,zc as W}from"./chunk-BTMXQPBB.js";import"./chunk-EUDKD2JW.js";var ce=l=>["/backup",l,"export"],se=()=>["/"];function ue(l,_){if(l&1){let t=g();i(0,"section")(1,"h4"),c(2,4),o(),i(3,"p"),c(4,5),o(),i(5,"spk-checkbox",11),u(6," Delete local database "),i(7,"input",12),M("ngModelChange",function(e){C(t);let a=p();return L(a.deleteLocalDb,e)||(a.deleteLocalDb=e),m(e)}),o()()()}if(l&2){let t=p();r(7),h("ngModel",t.deleteLocalDb)}}function Ee(l,_){if(l&1){let t=g();i(0,"section")(1,"h4"),c(2,6),o(),i(3,"p"),c(4,7),V(5,"bytes"),o(),i(6,"spk-checkbox",11),u(7," Delete remote files "),i(8,"input",12),M("ngModelChange",function(e){C(t);let a=p();return L(a.deleteRemoteFiles,e)||(a.deleteRemoteFiles=e),m(e)}),o()()()}if(l&2){let t=p(),n=X(0),e=(n==null||n.Backup==null||n.Backup.Metadata==null?null:n.Backup.Metadata.TargetFilesSize)??0;r(5),D(t.fileCount())(t.fileCount())(W(5,4,e,!0,!0)),S(4),r(3),h("ngModel",t.deleteRemoteFiles)}}var b=class l{#t=E(ee);#n=E(Q);#e=E(ne);#i=E(q);id=j.required();backup=B(()=>this.#e.getBackupById(this.id()));noLocalDbResource=re({params:()=>({dbPath:this.backup()?.Backup?.DBPath}),stream:({params:_})=>this.#t.postApiV1FilesystemValidate({requestBody:{path:_.dbPath}}).pipe(K(()=>!0),y(()=>U(!1)))});fileCount=B(()=>parseInt(this.backup()?.Backup?.Metadata?.TargetFilesCount??"0",10));deleteLocalDb=P(!1);deleteRemoteFiles=P(!1);isDeleting=P(!1);deleteBackup(){let _=this.id(),t=this.deleteLocalDb(),n=this.deleteRemoteFiles();this.isDeleting.set(!0),this.#n.open(ie,{data:{title:$localize`Confirm delete`,message:$localize`Are you sure you want to delete this backup?`,confirmText:$localize`Delete backup`,cancelText:$localize`Cancel`},closed:e=>{e&&this.#e.deleteBackup({id:_,deleteLocalDb:t,deleteRemoteFiles:n}).pipe(O(()=>this.isDeleting.set(!1))).subscribe({next:()=>{this.#i.navigate(["/"])}})}})}static \u0275fac=function(t){return new(t||l)};static \u0275cmp=$({type:l,selectors:[["app-delete-backup"]],inputs:{id:[1,"id"]},decls:19,vars:11,consts:()=>{let _;_=$localize`Delete backup: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let t;t=$localize`Export configuration`;let n;n=$localize`If you want to use the backup later, you can export the configuration before deleting it.`;let e;e=$localize`Cancel`;let a;a=$localize`Delete local database`;let k;k=$localize` Each backup has a local database associated with it, which stores information about the remote backup on the local machine. When deleting a backup, you can also delete the local database without affecting the ability to restore the remote files. If you are using the local database for backups from the commandline, you should keep the database. `;let N;N=$localize`Delete remote files`;let d;d=$localize`{VAR_PLURAL, plural, =1 {1 file} other {{INTERPOLATION} files}}`,d=F(d,{INTERPOLATION:"\uFFFD1\uFFFD",VAR_PLURAL:"\uFFFD0\uFFFD"});let R;return R=$localize` Delete ${d}:ICU@@2159106180826349718: (${"\uFFFD2\uFFFD"}:INTERPOLATION_1:) from the remote storage? `,[_,t,n,e,a,k,N,R,["spk-button","",3,"routerLink"],[1,"actions"],["spk-button","",1,"raised","error",3,"click"],[1,"primary","raised"],["type","checkbox",3,"ngModelChange","ngModel"]]},template:function(t,n){if(t&1){let e=g();w(0),i(1,"h3"),c(2,0),o(),f(3,ue,8,1,"section"),i(4,"section")(5,"h4"),c(6,1),o(),i(7,"p"),c(8,2),o(),i(9,"button",8),u(10," Export configuration "),i(11,"spk-icon"),u(12,"caret-right"),o()()(),f(13,Ee,9,8,"section"),i(14,"div",9)(15,"button",8),c(16,3),o(),i(17,"button",10),x("click",function(){return C(e),m(n.deleteBackup())}),u(18,"Delete backup"),o()()}if(t&2){let e=G(n.backup()),a=n.noLocalDbResource.value();r(2),D(e==null||e.Backup==null?null:e.Backup.Name),S(2),r(),T(a?3:-1),r(6),A("routerLink",z(8,ce,n.id())),r(4),T(a?13:-1),r(2),A("routerLink",v(10,se)),r(2),I("loader",n.isDeleting())}},dependencies:[Z,Y,J,te,_e,oe,ae,le,H],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;padding:2.5rem;max-width:43.75rem}section[_ngcontent-%COMP%]{padding:2rem 0;display:flex;align-items:flex-start;flex-direction:column}h3[_ngcontent-%COMP%]{font:var(--title-30);margin:0}h4[_ngcontent-%COMP%]{font:var(--paragraph-20);margin-bottom:.5rem}p[_ngcontent-%COMP%]{margin-bottom:1rem}.actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;gap:.5rem;padding:2rem 0}"],changeDetection:0})};export{b as default};
|
package/chunk-YR3TOOC3.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as ke,c as $e,d as L}from"./chunk-B26UYXA3.js";import{b as Re}from"./chunk-LDIZ5E5Z.js";import{a as ue}from"./chunk-KZQCOYF7.js";import"./chunk-JM7VAPIC.js";import"./chunk-RHW5QVAY.js";import"./chunk-6JQM2X3B.js";import{b as Pe,c as Te,d as g,e as Ce,f as Ee,j as me,o as Se,q as ge,r as fe,t as Oe}from"./chunk-NSIELNIY.js";import"./chunk-FZG6OXT3.js";import{b as te,d as ne,e as ie}from"./chunk-2W6BEUGU.js";import"./chunk-JFOXV66M.js";import{A as ce,C as Fe,a as re,b as se,f as ae,g as le,l as _e,p as pe}from"./chunk-Y5IRBMLB.js";import{c as oe,h as de}from"./chunk-DNJOKPEL.js";import"./chunk-CWLTHXVS.js";import"./chunk-WIDMAJIO.js";import{Ab as _,Eb as M,H as I,Hc as N,Ic as B,Kb as p,Lb as c,Mb as m,Nb as h,Ob as y,P as J,Pb as X,Qa as s,Qb as S,Rb as u,Z as T,ab as W,bc as R,da as A,ea as x,ec as D,fc as Y,hc as Z,na as C,sb as F,sc as ee,tb as d,xb as E,yb as a,zb as r}from"./chunk-BTMXQPBB.js";import"./chunk-EUDKD2JW.js";var we=()=>["/"];function Ae(t,o){t&1&&(a(0,"spk-toggle",23),p(1,5),_(2,"input",26),c(),r())}function xe(t,o){t&1&&(a(0,"span",29),m(1,9),r())}function De(t,o){if(t&1&&(a(0,"span",29),m(1,10),r()),t&2){let e=u(2);s(),h(e.exportForm.controls.password.errors==null?null:e.exportForm.controls.password.errors.minlength.requiredLength),y(1)}}function Ne(t,o){if(t&1&&_(0,"spk-progress-bar",36),t&2){let e=u(2);R("error",e.calculatePasswordStrength()===1)("warn",e.calculatePasswordStrength()===2)("primary",e.calculatePasswordStrength()===4)("success",e.calculatePasswordStrength()===5),E("value",e.calculatePasswordStrength()*(100/5))}}function Ie(t,o){t&1&&(a(0,"span",29),m(1,11),r())}function Me(t,o){t&1&&(a(0,"span",29),m(1,12),r())}function he(t,o){if(t&1&&(a(0,"span",29),m(1,13),r()),t&2){let e=u(2);s(),h(e.exportForm.controls.repeatPassword.errors==null?null:e.exportForm.controls.repeatPassword.errors.minlength.requiredLength),y(1)}}function ye(t,o){t&1&&(p(0,7,1),_(1,"spk-icon"),c())}function Xe(t,o){t&1&&(p(0,7,2),_(1,"spk-icon"),c())}function Be(t,o){t&1&&(p(0,14,1),_(1,"spk-icon",38),c())}function Le(t,o){t&1&&(p(0,14,2),_(1,"spk-icon"),c())}function be(t,o){if(t&1){let e=M();a(0,"button",37),S("click",function(){A(e);let i=u(2);return x(i.copyPassword())}),p(1,14),F(2,Be,2,0)(3,Le,2,0),c(),r()}if(t&2){let e=u(2);s(2),d(e.copiedPassword()?2:3)}}function ve(t,o){t&1&&(a(0,"spk-alert",35),m(1,15),r())}function Ge(t,o){if(t&1){let e=M();a(0,"div",24)(1,"spk-form-field")(2,"label",27),p(3,6),_(4,"sup"),c(),r(),_(5,"input",28),F(6,xe,2,0,"span",29)(7,De,2,1,"span",29),r(),F(8,Ne,1,9,"spk-progress-bar",30),a(9,"spk-form-field"),_(10,"input",31),F(11,Ie,2,0,"span",29)(12,Me,2,0,"span",29)(13,he,2,1,"span",29),r(),a(14,"div",32)(15,"button",33),S("click",function(){A(e);let i=u();return x(i.showPassword.set(!i.showPassword()))}),p(16,7),F(17,ye,2,0)(18,Xe,2,0),c(),r(),a(19,"button",33),S("click",function(){A(e);let i=u();return x(i.generatePassword())}),p(20,8),_(21,"spk-icon"),c(),r(),F(22,be,4,1,"button",34),r(),F(23,ve,2,0,"spk-alert",35),r()}if(t&2){let e=u();s(5),E("type",e.showPassword()?"text":"password"),s(),d(e.exportForm.controls.password.errors!=null&&e.exportForm.controls.password.errors.required?6:e.exportForm.controls.password.errors!=null&&e.exportForm.controls.password.errors.minlength?7:-1),s(2),d(e.exportForm.value.password?8:-1),s(2),E("type",e.showPassword()?"text":"password"),s(),d(e.exportForm.value.repeatPassword&&e.exportForm.value.repeatPassword!==e.exportForm.value.password?11:e.exportForm.controls.repeatPassword.errors!=null&&e.exportForm.controls.repeatPassword.errors.required?12:e.exportForm.controls.repeatPassword.errors!=null&&e.exportForm.controls.repeatPassword.errors.minlength?13:-1),s(6),d(e.showPassword()?17:18),s(5),d(e.showCopyPassword()?22:-1),s(),d(e.exportForm.value.password&&e.exportForm.value.password===e.exportForm.value.repeatPassword?23:-1)}}function Ke(t,o){if(t&1&&(a(0,"div",25)(1,"code"),D(2),r()()),t&2){let e=u();s(2),Y(e.exportedCmd())}}var k=new fe,b=class t{#o=T(ke);#t=T(de);#e=T(te);#n=T(ne);#i=T(oe);#r=T(ue);isExporting=C(!1);exportType=C("file");exportedCmd=C(null);exportForm=k.group({exportPasswords:k.control(!0),encryption:k.control(!1,[g.required,$e()]),password:k.control("",[L("encryption",!0,[g.required,g.minLength(3)])]),repeatPassword:k.control("",[L("encryption",!0,[g.required,g.minLength(3)])])});exportFormSignal=Re(this.exportForm.valueChanges);encryptionFieldSignal=N(()=>(this.exportFormSignal()?.encryption??!1)&&this.exportType()==="file");activeBackup=N(()=>this.#r.backups().find(o=>o.Backup?.ID===this.#e.snapshot.params.id));showPassword=C(!1);copiedPassword=C(!1);showCopyPassword=C(!1);calculatePasswordStrength=N(()=>{let e=this.exportFormSignal()?.password??"";return this.#o.calculatePasswordStrength(e)});showPasswordEffect=B(()=>{this.showPassword()&&this.exportForm.updateValueAndValidity()});disablePasswordForCommandLine=B(()=>{this.exportType()==="cmd"&&this.exportForm.controls.encryption.setValue(!1)});submit(){this.isExporting.set(!0),this.exportType()==="file"?this.#t.postApiV1AuthIssuetokenByOperation({operation:"export"}).pipe(J(o=>{let e=i=>{let f=Object.entries(i);return f?"?"+f.filter(([O,P])=>P!=null).map(([O,P])=>`${encodeURIComponent(O)}=${encodeURIComponent(P)}`).join("&"):""},n=this.exportFormSignal()?.password?.length?this.exportFormSignal()?.password:void 0;return this.#i.get(`/api/v1/backup/${this.#e.snapshot.params.id}/export${e({"export-passwords":this.exportFormSignal()?.exportPasswords??void 0,passphrase:n,token:o.Token})}`,{responseType:"blob"})}),I(()=>this.isExporting.set(!1))).subscribe({next:o=>{let n=this.activeBackup()?.Backup?.Name??"Backup",i=this.exportFormSignal()?.encryption?"aes":"json";this.downloadFile(o,`${n}-duplicati-config.${i}`),this.#n.navigate(["/"])},error:o=>{}}):this.#t.getApiV1BackupByIdExportCmdline({id:this.#e.snapshot.params.id,exportPasswords:this.exportFormSignal()?.exportPasswords??void 0,passphrase:this.exportFormSignal()?.password??void 0}).pipe(I(()=>this.isExporting.set(!1))).subscribe({next:o=>{this.exportedCmd.set(o.Command??null)},error:o=>{}})}downloadFile(o,e){let n=window.URL.createObjectURL(o),i=document.createElement("a");i.href=n,i.download=e,i.click(),window.URL.revokeObjectURL(n)}async copyPassword(){let o=this.exportForm.controls.password.value;await this.#s(o??""),this.copiedPassword.set(!0)}async#s(o){try{await navigator.clipboard.writeText(o)}catch{try{let n=document.createElement("textarea");n.value=o,document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n)}catch(n){console.error("Failed to copy text: ",n)}}}generatePassword(){this.copiedPassword.set(!1);let o=this.#o.generate(16);this.exportForm.controls.password.setValue(o),this.exportForm.controls.repeatPassword.setValue(o),this.showCopyPassword.set(!0)}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=W({type:t,selectors:[["app-export"]],decls:26,vars:15,consts:()=>{let o;o=$localize`Remember to copy the password`;let e;e=$localize`${"\uFFFD#6\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#6\uFFFD"}:CLOSE_TAG_SPK_ICON: Back `;let n;n=$localize`${"\uFFFD#9\uFFFD"}:START_TAG_SPK_ICON:export${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SPK_ICON: Export `;let i;i=$localize`${"\uFFFD#16\uFFFD"}:START_TAG_SPK_ICON:terminal-window${"\uFFFD/#16\uFFFD"}:CLOSE_TAG_SPK_ICON: As command line `;let f;f=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SPK_ICON:file${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SPK_ICON: To file `;let O;O=$localize` Export passwords ${"\uFFFD#22\uFFFD\uFFFD/#22\uFFFD"}:TAG_INPUT:`;let P;P=$localize` Encrypt file ${"\uFFFD#2\uFFFD\uFFFD/#2\uFFFD"}:TAG_INPUT:`;let v;v=$localize`Password`;let G;G=$localize`Repeat password`;let K;K=$localize` Create a password ${"\uFFFD#4\uFFFD"}:START_SUPERSCRIPT:*${"\uFFFD/#4\uFFFD"}:CLOSE_SUPERSCRIPT:`;let $;$=$localize`${"\uFFFD*17:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:eye-slash${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: hide ${"\uFFFD/*17:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*18:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:eye${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: show ${"\uFFFD/*18:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,$=X($);let U;U=$localize`${"\uFFFD#21\uFFFD"}:START_TAG_SPK_ICON:password${"\uFFFD/#21\uFFFD"}:CLOSE_TAG_SPK_ICON: Generate password `;let z;z=$localize`Passwords are required`;let V;V=$localize` Passwords must be at least ${"\uFFFD0\uFFFD"}:INTERPOLATION: characters long `;let q;q=$localize`Passwords do not match`;let j;j=$localize`Passwords are required`;let H;H=$localize` Passwords must be at least ${"\uFFFD0\uFFFD"}:INTERPOLATION: characters long `;let w;w=$localize`${"\uFFFD*2:1\uFFFD"}:START_BLOCK_IF:${"\uFFFD#1:1\uFFFD"}:START_TAG_SPK_ICON:check${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Copied password ${"\uFFFD/*2:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*3:2\uFFFD"}:START_BLOCK_ELSE:${"\uFFFD#1:2\uFFFD"}:START_TAG_SPK_ICON_1:copy${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Copy password ${"\uFFFD/*3:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,w=X(w);let Q;return Q=$localize` Tip: Be sure to save your password. If you lose it, you will not be able to import the configuration. `,[e,n,i,f,O,P,K,$,U,z,V,q,j,H,w,Q,[1,"actions"],["spk-button","",1,"outlined",3,"routerLink"],["spk-button","","spkTooltip",o,1,"raised","primary",3,"click","disabled"],["autocomplete","off",3,"formGroup"],["type","button",3,"click"],[1,"raised","primary"],["type","checkbox","formControlName","exportPasswords"],[1,"primary","raised"],[1,"passwords"],[1,"cmd-output"],["type","checkbox","formControlName","encryption"],["for","password"],["id","password","tabindex","4","autocomplete","off","placeholder",v,"formControlName","password",3,"type"],["error",""],[1,"raised",3,"error","warn","primary","success","value"],["id","repeatPassword","tabindex","5","autocomplete","off","placeholder",G,"formControlName","repeatPassword",3,"type"],[1,"password-actions"],["spk-button","","type","button",1,"small",3,"click"],["spk-button","","type","button",1,"small","copy"],[1,"primary"],[1,"raised",3,"value"],["spk-button","","type","button",1,"small","copy",3,"click"],[1,"spk-success"]]},template:function(e,n){if(e&1&&(a(0,"header")(1,"h3"),D(2," Export backup configuration "),a(3,"div",16)(4,"button",17),p(5,0),_(6,"spk-icon"),c(),r(),a(7,"button",18),S("click",function(){return n.submit()}),p(8,1),_(9,"spk-icon"),c(),r()()(),a(10,"p"),D(11),r()(),a(12,"form",19)(13,"spk-button-group")(14,"button",20),S("click",function(){return n.exportType.set("cmd")}),p(15,2),_(16,"spk-icon"),c(),r(),a(17,"button",20),S("click",function(){return n.exportType.set("file")}),p(18,3),_(19,"spk-icon"),c(),r()(),a(20,"spk-toggle",21),p(21,4),_(22,"input",22),c(),r(),F(23,Ae,3,0,"spk-toggle",23),F(24,Ge,24,8,"div",24),F(25,Ke,3,1,"div",25),r()),e&2){let i;s(4),E("routerLink",ee(14,we)),s(3),R("loading",n.isExporting()),E("disabled",n.exportForm.invalid||n.showCopyPassword()&&!n.copiedPassword()||n.encryptionFieldSignal()&&n.exportForm.value.repeatPassword!==n.exportForm.value.password),s(4),Z("#",(i=n.activeBackup())==null||i.Backup==null?null:i.Backup.ID,": ",(i=n.activeBackup())==null||i.Backup==null?null:i.Backup.Name),s(),E("formGroup",n.exportForm),s(2),R("active",n.exportType()==="cmd"),s(3),R("active",n.exportType()==="file"),s(6),d(n.exportType()==="file"?23:-1),s(),d(n.encryptionFieldSignal()?24:-1),s(),d(n.exportedCmd()?25:-1)}},dependencies:[Oe,me,Te,Pe,Ce,Ee,Se,ge,ie,ae,ce,re,_e,le,se,pe,Fe],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:2rem;padding:3rem}h3[_ngcontent-%COMP%]{font:var(--title-30);display:flex;align-items:center;justify-content:space-between}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;max-width:31.25rem}.passwords[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.password-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:center}.copy[_ngcontent-%COMP%] spk-icon.spk-success[_ngcontent-%COMP%]{color:var(--success-8)}.hide[_ngcontent-%COMP%]{display:none}"],changeDetection:0})};export{b as default};
|
package/chunk-YSJGV5SH.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as W}from"./chunk-EL7ZWMW3.js";import"./chunk-MFURKVTP.js";import{a as z}from"./chunk-KZQCOYF7.js";import"./chunk-JM7VAPIC.js";import"./chunk-2BX65XJQ.js";import"./chunk-RHW5QVAY.js";import"./chunk-6JQM2X3B.js";import"./chunk-WXARH2SG.js";import"./chunk-NSIELNIY.js";import"./chunk-FZG6OXT3.js";import{e as S}from"./chunk-2W6BEUGU.js";import"./chunk-JFOXV66M.js";import{a as g,g as E,h as R,k as G,p as w}from"./chunk-Y5IRBMLB.js";import{h as X}from"./chunk-DNJOKPEL.js";import"./chunk-UZK7ABRM.js";import"./chunk-CWLTHXVS.js";import"./chunk-WIDMAJIO.js";import"./chunk-B6OIHB5W.js";import{Ab as l,Bb as b,Cb as h,Kb as y,Lb as A,Mb as p,Nb as I,Ob as B,Qa as a,Rb as d,Z as u,ab as T,ec as r,fb as O,hc as L,pb as M,qb as P,sb as F,sc as m,tb as N,tc as v,ub as x,vb as $,wb as D,xb as _,yb as t,zb as i}from"./chunk-BTMXQPBB.js";import"./chunk-EUDKD2JW.js";var j=()=>[R,E,g,S],K=()=>["/restore-from-files"],q=()=>["/restore/from-config"],V=n=>["/restore",n];function H(n,o){if(n&1&&(t(0,"spk-card",5),l(1,"img",10),t(2,"div",7)(3,"h3"),p(4,1),i(),t(5,"p"),r(6),i()(),t(7,"button",8),y(8,2),l(9,"spk-icon"),A(),i()()),n&2){let e=o.$implicit;a(4),I((e.Backup==null?null:e.Backup.Name)??"Backup name missing"),B(4),a(2),L(" ",(e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.SourceSizeString)??"-"," / ",(e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.BackupListCount)??"-"," "),a(),_("routerLink",v(4,V,e.Backup==null?null:e.Backup.ID))}}function J(n,o){if(n&1&&$(0,H,10,6,"spk-card",5,x),n&2){let e=d(2);D(e.backups())}}function Q(n,o){n&1&&(b(0),p(1,3),h())}function U(n,o){if(n&1&&F(0,J,2,0)(1,Q,2,0,"ng-container"),n&2){let e=d();N(e.backups().length?0:1)}}function Y(n,o){n&1&&(t(0,"div",11),l(1,"spk-progress-bar",12),t(2,"div",7)(3,"h3"),p(4,4),i()()())}var f=class n{#e=u(z);#t=u(X);backups=this.#e.backups;backupsLoading=this.#e.backupsLoading;ngOnInit(){this.#e.getBackups(!0)}restoreNow(o){this.#t.postApiV1BackupByIdRestore({id:o.Backup?.ID,requestBody:{}})}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=T({type:n,selectors:[["app-restore"]],decls:32,vars:5,consts:()=>{let o;o=$localize`Where do you want to restore from?`;let e;e=$localize`${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let s;s=$localize` Restore ${"\uFFFD#9\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let k;k=$localize`No backups founds`;let C;return C=$localize`Loading backups...`,[o,e,s,k,C,[1,"type-a"],["src","assets/images/backup.png","alt","","width","48px"],[1,"text"],["spk-button","",3,"routerLink"],["src","assets/images/restore.png","alt","","width","48px"],["src","assets/images/folder.png","alt","","width","48px"],[1,"loading-list"],[1,"indeterminate","primary"]]},template:function(e,s){e&1&&(l(0,"app-status-bar"),t(1,"section")(2,"h2"),p(3,0),i(),t(4,"spk-card",5),l(5,"img",6),t(6,"div",7)(7,"h3"),r(8,"Direct restore from backup files"),i(),t(9,"p"),r(10,"Point to your backup files and restore from there."),i()(),t(11,"button",8),r(12," Start "),t(13,"spk-icon"),r(14,"play-circle"),i()()(),t(15,"spk-card",5),l(16,"img",9),t(17,"div",7)(18,"h3"),r(19,"Restore from configuration"),i(),t(20,"p"),r(21,"Load destination from an exported job or a storage provider"),i()(),t(22,"button",8),r(23," Start "),t(24,"spk-icon"),r(25,"play-circle"),i()()(),t(26,"spk-divider"),r(27,"Or existing"),i(),O(28,U,2,1)(29,Y,5,0),M(30,28,j,null,29),i()),e&2&&(a(11),_("routerLink",m(3,K)),a(11),_("routerLink",m(4,q)),a(8),P(!s.backupsLoading()))},dependencies:[W,R,E,G,g,w,S],styles:["[_nghost-%COMP%]{display:block}h2[_ngcontent-%COMP%]{font:var(--title-30);text-align:center;padding:2rem}section[_ngcontent-%COMP%]{max-width:43.75rem;margin:0 auto;padding:2rem 1rem;display:flex;flex-direction:column;gap:1rem}spk-divider[_ngcontent-%COMP%]{color:var(--base-8)}spk-card[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;--card-padding: 2rem}spk-card[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{flex:1 0;display:flex;flex-direction:column;gap:.25rem}"],changeDetection:0})};export{f as default};
|
package/chunk-ZZNFOL3R.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./chunk-EUDKD2JW.js";var o=[{path:"",redirectTo:"general",pathMatch:"full"},{path:"general",loadComponent:()=>import("./chunk-SYUL4YZN.js")},{path:"destination",loadComponent:()=>import("./chunk-ETPRQPCV.js")},{path:"source-data",loadComponent:()=>import("./chunk-Y73FO7VJ.js")},{path:"schedule",loadComponent:()=>import("./chunk-5LGMQ3QI.js")},{path:"options",loadComponent:()=>import("./chunk-7GUJ7DYP.js")}];export{o as default};
|