@duplicati/ngclient 0.0.119 → 0.0.121
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{chunk-WZRSQ7XL.js → chunk-2CXHZS6X.js} +1 -1
- package/{chunk-3KUVV3SB.js → chunk-2XYBW2LY.js} +1 -1
- package/{chunk-GYUN7KFJ.js → chunk-3UPH6V5C.js} +1 -1
- package/{chunk-KHGD372Q.js → chunk-43BIRTPL.js} +1 -1
- package/{chunk-NPZU4SBS.js → chunk-45N5IP3N.js} +1 -1
- package/{chunk-2GE6FFGI.js → chunk-4DR45FFH.js} +1 -1
- package/{chunk-4RIDBZOK.js → chunk-4HPQY7IN.js} +1 -1
- package/chunk-4KE2I7OA.js +7 -0
- package/{chunk-NF3MS2YP.js → chunk-4V45XF67.js} +1 -1
- package/{chunk-CH7FSO4Y.js → chunk-5C7A7QU6.js} +1 -1
- package/{chunk-XWF632WO.js → chunk-65U4B3NQ.js} +1 -1
- package/{chunk-4FUHLIJW.js → chunk-6B67AJC3.js} +1 -1
- package/{chunk-A6XWHATE.js → chunk-6DNRCK5D.js} +1 -1
- package/{chunk-HTX2RSBS.js → chunk-6EWRKJSC.js} +1 -1
- package/chunk-6LCXRM3A.js +1 -0
- package/chunk-7BATQNXR.js +1 -0
- package/chunk-7DNC2MPD.js +1 -0
- package/chunk-7GXTLCJB.js +1 -0
- package/{chunk-65UN5LE6.js → chunk-7V4TPS4B.js} +1 -1
- package/{chunk-5ENRUF35.js → chunk-ABANCAM5.js} +1 -1
- package/{chunk-WU3ALGNP.js → chunk-BLKMQJR5.js} +1 -1
- package/{chunk-7NBGN46A.js → chunk-C5X6HJ3T.js} +1 -1
- package/chunk-CZDE5P4F.js +1 -0
- package/chunk-DLJSVAM2.js +1 -0
- package/{chunk-HFNFJ7G2.js → chunk-DYTQQHMA.js} +1 -1
- package/{chunk-M3WT5B3C.js → chunk-EBXJGPRA.js} +1 -1
- package/{chunk-UXUVYBYP.js → chunk-ED7PHXLX.js} +1 -1
- package/{chunk-CZUGA62N.js → chunk-ERHGJIOQ.js} +1 -1
- package/{chunk-AL5KGNEF.js → chunk-ESAGJOZZ.js} +1 -1
- package/{chunk-LDJVMU7P.js → chunk-FP6LM56A.js} +1 -1
- package/{chunk-3XVU2YA6.js → chunk-FQ55IACT.js} +1 -1
- package/{chunk-ZQSBINUM.js → chunk-FSKPPAVO.js} +1 -1
- package/chunk-FWQNZX5S.js +1 -0
- package/chunk-FY7G24UA.js +1 -0
- package/{chunk-RHII5WE3.js → chunk-GQGMGFDX.js} +1 -1
- package/chunk-GUKBMCIX.js +1 -0
- package/chunk-HIW2CN45.js +1 -0
- package/{chunk-2SQBD7LN.js → chunk-IVGY6D4N.js} +1 -1
- package/{chunk-K5C3JCVH.js → chunk-KAFLAM3J.js} +1 -1
- package/{chunk-T6KX6ACI.js → chunk-KPH4ZAFT.js} +1 -1
- package/{chunk-3AIKVVWP.js → chunk-LUKUBN2Z.js} +1 -1
- package/{chunk-LJDOQTEF.js → chunk-M5RL4LRX.js} +1 -1
- package/{chunk-CPTR6AJI.js → chunk-MO2LFPIR.js} +1 -1
- package/{chunk-DX6BDDDV.js → chunk-MOSJ6KI7.js} +1 -1
- package/{chunk-FRSQ5NDX.js → chunk-N5FH4YAX.js} +1 -1
- package/{chunk-4YUBZYBH.js → chunk-O7TLFEOP.js} +1 -1
- package/chunk-OAWADV5X.js +1 -0
- package/{chunk-2P3DXYGR.js → chunk-OQPUBCLB.js} +1 -1
- package/chunk-PDODLSPH.js +1 -0
- package/{chunk-AACJQG7X.js → chunk-PSVKQSIF.js} +1 -1
- package/{chunk-RLUT4FSI.js → chunk-QMFHJSCY.js} +1 -1
- package/{chunk-TCDECRYI.js → chunk-QUOBR5MG.js} +1 -1
- package/chunk-QXUYK52Y.js +1 -0
- package/{chunk-X6PSFVBL.js → chunk-S75WBVE3.js} +1 -1
- package/{chunk-BAX2AJJJ.js → chunk-SFV445TF.js} +1 -1
- package/{chunk-6KSS7VQS.js → chunk-SIHNMW2E.js} +1 -1
- package/chunk-SPAJFGWZ.js +1 -0
- package/{chunk-4LLC3Q7O.js → chunk-SX2OA5DO.js} +1 -1
- package/chunk-T5WAKBP3.js +1 -0
- package/{chunk-OEIF7NQ5.js → chunk-T7QZL5YJ.js} +1 -1
- package/{chunk-SSJ4VQB4.js → chunk-TCEYGZ6D.js} +1 -1
- package/chunk-U4XTHU5I.js +1 -0
- package/chunk-U7YVVKGQ.js +1 -0
- package/{chunk-XR4SRVOQ.js → chunk-UEYPJIJG.js} +1 -1
- package/chunk-UI4M5G5W.js +1 -0
- package/{chunk-ELZWH543.js → chunk-URJQR7VG.js} +1 -1
- package/{chunk-YY3JAYQZ.js → chunk-UTNP2VHH.js} +1 -1
- package/{chunk-Q6M5VRZV.js → chunk-V7XW25LT.js} +1 -1
- package/chunk-VPTXHYYV.js +6 -0
- package/chunk-VTTBYFSH.js +1 -0
- package/chunk-VYAA7G37.js +1 -0
- package/{chunk-TJJORMQV.js → chunk-VZBWK3XF.js} +1 -1
- package/chunk-W66AXGSW.js +1 -0
- package/{chunk-YW5R7NEG.js → chunk-WOTGLW6Y.js} +1 -1
- package/{chunk-5LKXKKAK.js → chunk-WRKRV6RQ.js} +1 -1
- package/chunk-XATCN7MB.js +1 -0
- package/{chunk-OHZGASM5.js → chunk-XHPURHO2.js} +1 -1
- package/{chunk-VGAQB3OD.js → chunk-XUPWJEL7.js} +1 -1
- package/{chunk-B3WLZK7W.js → chunk-XWYNCG3P.js} +1 -1
- package/chunk-YUZKJZ22.js +1 -0
- package/chunk-YZDNOP4R.js +1 -0
- package/index.html +1 -1
- package/main-DG325IZ3.js +1 -0
- package/package.json +1 -1
- package/chunk-3GGSYR5J.js +0 -1
- package/chunk-6WZGDK7U.js +0 -1
- package/chunk-ADO3ABTT.js +0 -1
- package/chunk-AHUC7M75.js +0 -7
- package/chunk-B64M2BXZ.js +0 -1
- package/chunk-CRJHIWSF.js +0 -1
- package/chunk-DCYB2NQH.js +0 -1
- package/chunk-G5CT45UH.js +0 -1
- package/chunk-HHSMSBNM.js +0 -1
- package/chunk-HXN7IX3Q.js +0 -1
- package/chunk-JRZGF4BZ.js +0 -1
- package/chunk-KBJGYXKV.js +0 -1
- package/chunk-KYQWUXYN.js +0 -1
- package/chunk-MUBWT5H2.js +0 -1
- package/chunk-PHIZVVHX.js +0 -1
- package/chunk-PKRMVTCU.js +0 -1
- package/chunk-QVNFX6ZC.js +0 -1
- package/chunk-RKAIZDDW.js +0 -1
- package/chunk-RSZISHXB.js +0 -1
- package/chunk-RXHYUPYG.js +0 -6
- package/chunk-UABJ67OY.js +0 -1
- package/chunk-W4RKRM2O.js +0 -1
- package/chunk-WFM6YWRN.js +0 -1
- package/chunk-Z45ZPMZS.js +0 -1
- package/chunk-ZHMYBX5F.js +0 -1
- package/main-PDJMO4FF.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as k}from"./chunk-
|
|
1
|
+
import{a as k}from"./chunk-XWYNCG3P.js";import"./chunk-XHPURHO2.js";import"./chunk-7V4TPS4B.js";import"./chunk-T5WAKBP3.js";import"./chunk-LUKUBN2Z.js";import"./chunk-RHW5QVAY.js";import"./chunk-DLJSVAM2.js";import"./chunk-ABANCAM5.js";import"./chunk-FSKPPAVO.js";import"./chunk-FQ55IACT.js";import{e as S}from"./chunk-WRKRV6RQ.js";import"./chunk-DYTQQHMA.js";import{a as T,g as M,h as f}from"./chunk-ESAGJOZZ.js";import"./chunk-N5FH4YAX.js";import"./chunk-GQGMGFDX.js";import"./chunk-EBXJGPRA.js";import"./chunk-QUOBR5MG.js";import{Db as e,Eb as n,Fb as _,Pb as s,Qb as l,Rb as i,Ua as r,gb as D,ub as c,vc as d}from"./chunk-4KE2I7OA.js";import"./chunk-7CGTOI24.js";var E=()=>["/backup/new"],F=()=>["/backup/import"],u=class C{static \u0275fac=function(t){return new(t||C)};static \u0275cmp=D({type:C,selectors:[["app-add-backup"]],decls:23,vars:4,consts:()=>{let a;a=$localize`Add a new backup`;let t;t=$localize`New backup`;let p;p=$localize`Configure a new backup. Choose your destination, source data and schedule.`;let A;A=$localize` Add a new backup ${"\uFFFD#13\uFFFD"}:START_TAG_SPK_ICON:plus${"\uFFFD/#13\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let g;g=$localize`Import from file`;let m;m=$localize`Import backup configuration from a file. During import you can adjust the setings.`;let P;return P=$localize` Import from file ${"\uFFFD#22\uFFFD"}:START_TAG_SPK_ICON:upload-simple${"\uFFFD/#22\uFFFD"}:CLOSE_TAG_SPK_ICON:`,[a,t,p,A,g,m,P,[1,"backup-types"],[1,"type-a"],["src","assets/images/new-backup.png"],["spk-button","",1,"raised","primary",3,"routerLink"]]},template:function(t,p){t&1&&(_(0,"app-status-bar"),e(1,"section")(2,"h2"),i(3,0),n(),e(4,"div",7)(5,"spk-card",8),_(6,"img",9),e(7,"h3"),i(8,1),n(),e(9,"p"),i(10,2),n(),e(11,"button",10),s(12,3),_(13,"spk-icon"),l(),n()(),e(14,"spk-card",8),_(15,"img",9),e(16,"h3"),i(17,4),n(),e(18,"p"),i(19,5),n(),e(20,"button",10),s(21,6),_(22,"spk-icon"),l(),n()()()()),t&2&&(r(11),c("routerLink",d(2,E)),r(9),c("routerLink",d(3,F)))},dependencies:[k,M,f,T,S],styles:["[_nghost-%COMP%]{display:block}section[_ngcontent-%COMP%]{display:flex;align-items:center;flex-direction:column;gap:2rem;padding:2rem 0}div.backup-types[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:43.75rem}spk-card[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:1rem;padding-bottom:3rem}spk-card[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-width:18.75rem}spk-card[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-wrap:balance;text-align:center;width:75%}"],changeDetection:0})};export{u as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as D}from"./chunk-
|
|
1
|
+
import{a as D}from"./chunk-UEYPJIJG.js";import{a as R}from"./chunk-7V4TPS4B.js";import"./chunk-FSKPPAVO.js";import"./chunk-FQ55IACT.js";import"./chunk-WRKRV6RQ.js";import"./chunk-DYTQQHMA.js";import{a as F,g as U,p as w}from"./chunk-ESAGJOZZ.js";import{h as L}from"./chunk-N5FH4YAX.js";import"./chunk-EBXJGPRA.js";import{Db as a,Eb as o,F as d,Fb as f,Jb as S,Qc as O,Ra as T,Rb as E,Sb as M,Tb as P,Ua as l,Vb as k,Wb as c,Z as m,ea as u,fa as g,gb as G,jc as s,kc as b,lb as _,r as A,ub as N,va as C,wb as x,zb as p}from"./chunk-4KE2I7OA.js";import"./chunk-7CGTOI24.js";function y(n,i){n&1&&f(0,"spk-progress-bar",2)}function V(n,i){if(n&1&&(a(0,"a",6)(1,"spk-icon"),s(2,"download"),o(),s(3," Download update "),o()),n&2){let e,t=c(2);N("href",(e=t.serverState())==null?null:e.UpdateDownloadLink,T)}}function $(n,i){if(n&1){let e=S();a(0,"button",5),k("click",function(){u(e);let r=c();return g(r.checkForUpdates())}),s(1,"Check for updates"),o(),_(2,V,4,1,"a",6)}if(n&2){let e,t=c();x("loader",t.checkingForUpdates()),l(2),p((e=t.serverState())!=null&&e.UpdateDownloadLink?2:-1)}}function I(n,i){if(n&1){let e=S();a(0,"button",5),k("click",function(){u(e);let r=c();return g(r.checkForUpdates())}),s(1,"Checking for updates \u2026"),o()}}function B(n,i){n&1&&f(0,"spk-progress-bar",2)}var h=class n{#e=m(L);#t=m(R);isLoading=C(!0);checkingForUpdates=C(!1);serverState=this.#t.serverState;duplicatiVersion=O(()=>this.#t.serverState()?.UpdatedVersion);generalInfo=D(this.#e.getApiV1Acknowledgements().pipe(A(i=>i.Acknowledgements),d(()=>this.isLoading.set(!1))));checkForUpdates(){this.checkingForUpdates.set(!0),this.#e.postApiV1UpdatesCheck().pipe(d(()=>this.checkingForUpdates.set(!1))).subscribe()}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=G({type:n,selectors:[["app-general"]],decls:12,vars:5,consts:()=>{let i;i=$localize`General`;let e;return e=$localize`You're running Duplicati with - ${"\uFFFD0\uFFFD"}:INTERPOLATION:`,[i,e,[1,"indeterminate","primary"],[1,"actions"],["spk-button",""],["spk-button","",3,"click"],["spk-button","","target","_blank",1,"primary","raised",3,"href"]]},template:function(e,t){if(e&1&&(_(0,y,1,0,"spk-progress-bar",2),a(1,"section")(2,"h3"),E(3,0),o(),a(4,"p"),E(5,1),o(),a(6,"div",3),_(7,$,3,3)(8,I,2,0,"button",4)(9,B,1,0,"spk-progress-bar",2),o(),a(10,"div"),s(11),o()()),e&2){let r,v;p(t.isLoading()?0:-1),l(5),M(t.duplicatiVersion()),P(5),l(2),p(((r=t.serverState())==null?null:r.UpdaterState)==="Waiting"?7:((r=t.serverState())==null?null:r.UpdaterState)==="Checking"?8:-1),l(2),p(((v=t.serverState())==null?null:v.UpdaterState)==="Downloading"?9:-1),l(2),b(t.generalInfo())}},dependencies:[w,U,F],styles:["[_nghost-%COMP%]{display:block;position:relative}h3[_ngcontent-%COMP%]{font:var(--title-30);margin:0 0 1.25rem}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}section[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{white-space:pre-wrap}spk-progress-bar[_ngcontent-%COMP%]{position:absolute;top:0;left:0;right:0}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}"],changeDetection:0})};export{h as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as x}from"./chunk-6EWRKJSC.js";import{a as Q}from"./chunk-LUKUBN2Z.js";import{b as U,d as H}from"./chunk-WRKRV6RQ.js";import{b as K,c as j,e as W,g as q,p as Y}from"./chunk-ESAGJOZZ.js";import{h as J}from"./chunk-N5FH4YAX.js";import{Bb as v,Cb as y,Db as a,Eb as l,Fb as g,Gb as L,Hb as R,Jb as f,Pb as D,Qb as V,Qc as B,Ra as M,Rb as _,Ua as r,Vb as C,Wb as s,Z as p,ea as T,fa as I,gb as S,jc as F,kc as P,lb as A,lc as z,rc as G,sa as m,sc as X,tc as u,ub as O,yb as b,zb as d}from"./chunk-4KE2I7OA.js";function it(n,e){if(n&1&&F(0),n&2){s();let t=u(0);z(" ",t.Message," ")}}function nt(n,e){if(n&1&&(a(0,"div"),D(1,1),g(2,"a",15),V(),l()),n&2){s();let t=u(0);r(2),O("href",t.DownloadLink,M)}}function ot(n,e){if(n&1){let t=f();a(0,"button",14),C("click",function(){T(t);let i=s(),c=u(0);return I(i.doRepair(c.BackupID))}),_(1,2),l()}}function at(n,e){if(n&1){let t=f();a(0,"button",14),C("click",function(){T(t);let i=s(),c=u(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);O("value",(t=o.serverState())==null?null:t.UpdateDownloadProgress)}}function lt(n,e){if(n&1){let t=f();a(0,"div",13),L(1),_(2,4),R(),a(3,"a",16),F(4),l(),A(5,rt,1,1,"spk-progress-bar",17),a(6,"button",14),C("click",function(){T(t);let i=s();return I(i.doShowUpdate())}),_(7,5),l()()}if(n&2){let t,o,i=s(),c=u(0);r(3),O("href",(t=i.serverState())==null?null:t.UpdateDownloadLink,M),r(),P(c.Message),r(),d(((o=i.serverState())==null?null:o.UpdaterState)==="Downloading"?5:-1)}}function ct(n,e){if(n&1){let t=f();a(0,"button",14),C("click",function(){T(t);let i=s(),c=u(0);return I(i.doShowLog(c.BackupID))}),_(1,6),l()}}function _t(n,e){if(n&1){let t=f();a(0,"button",14),C("click",function(){T(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),C("click",function(){T(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=p(H);#o=p(U);#a=p(W);#e=p(j);#i=p(x);#n=p(J);serverState=this.#i.serverState;index=m.required();notification=m.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=S({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),A(5,it,1,1)(6,nt,3,1,"div"),a(7,"div",11),A(8,ot,2,0,"button",12)(9,at,2,0,"button",12)(10,lt,8,3,"div",13)(11,ct,2,0,"button",12)(12,_t,2,0,"button",12)(13,st,2,0,"button",12),a(14,"button",14),C("click",function(){return T(i),I(o.deleteNotificationByIndex())}),_(15,0),l()()()()}if(t&2){let i=X(o.notification());r(),b(o.getAlertType(i.Type)),r(2),P(i.Title),r(2),d(i.Action!=="update:new"&&i.Action!=="update:manual"?5:-1),r(),d(i!=null&&i.DownloadLink?6:-1),r(2),d(i.Message!=null&&i.Message.includes("please run repair")?8:-1),r(),d(i.Action!=null&&i.Action.startsWith("bug-report:created:")&&!i.DownloadLink?9:-1),r(),d(i.Action==="update:new"?10:-1),r(),d(i.Action==="backup:show-log"?11:-1),r(),d(i.Action==="config:issue:unencrypted-database"?12:-1),r(),d(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;O("index",o)("notification",t)}}function Tt(n,e){n&1&&(a(0,"div",2)(1,"p"),_(2,0),l()())}var Z=class n{#t=p(x);notificationFilterPredicate=m();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=S({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&&v(0,Nt,1,2,"app-notification",1,pt,!1,Tt,3,0,"div",2),t&2&&y(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};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as _e,b as me}from"./chunk-KHGD372Q.js";import{a as se}from"./chunk-LDJVMU7P.js";import{a as ne}from"./chunk-WZRSQ7XL.js";import{b as ie,c as oe,e as re,h as le,j as ae,s as pe}from"./chunk-5ENRUF35.js";import{A as ee,C as te,a as q,g as H,l as J,o as Q,t as Y,z as Z}from"./chunk-AL5KGNEF.js";import{ia as j}from"./chunk-M3WT5B3C.js";import{Ab as V,Bb as I,Cb as L,Cc as P,Db as a,Eb as _,Fb as h,Gb as E,Hb as M,Ib as T,Jb as C,Pb as v,Pc as G,Qb as b,Rb as X,Ua as l,Vb as f,Wb as s,Z as z,bb as K,ea as d,fa as u,gb as U,ic as x,jc as g,kc as $,lb as c,lc as k,oc as A,pc as D,qc as R,rc as W,sa as w,sc as B,tc as S,ub as p,va as N,zb as O}from"./chunk-AHUC7M75.js";import{a as F,b as y}from"./chunk-7CGTOI24.js";function ue(n,o){if(n&1){let e=C();a(0,"button",14),f("click",function(){d(e);let t=s();return u(t.addFreeTextSetting())}),v(1,6),h(2,"spk-icon"),b(),_()}}function ge(n,o){if(n&1){let e=C();a(0,"button",16,0),f("click",function(){let t=d(e).$implicit,r=s(2);return u(r.addSetting(t))}),g(2),_()}if(n&2){let e=o.$implicit;l(2),$(e.name)}}function Ce(n,o){if(n&1&&(a(0,"h3",8),g(1),_(),I(2,ge,3,1,"button",15,V)),n&2){let e=o.$implicit;l(),$(e.displayName),l(),L(e.options)}}function fe(n,o){n&1&&(a(0,"div",13),g(1,"Add a setting above to get started."),_())}function xe(n,o){n&1&&(a(0,"spk-icon",24),g(1," warning-octagon "),_())}function Se(n,o){if(n&1&&(a(0,"spk-icon",25),g(1,"question"),_()),n&2){let e=s(2).$implicit;p("spkTooltip",e.FormView.longDescription)}}function Te(n,o){if(n&1&&(c(0,xe,2,0,"spk-icon",24),g(1),c(2,Se,2,1,"spk-icon",25)),n&2){let e=s().$implicit,i=S(1);O(i?0:-1),l(),k(" ",e.FormView.shortDescription," "),l(),O(e.FormView.longDescription?2:-1)}}function Oe(n,o){n&1&&T(0)}function Fe(n,o){if(n&1){let e=C();a(0,"div",18)(1,"label"),c(2,Oe,1,0,"ng-container",26),_(),a(3,"div",27)(4,"spk-form-field")(5,"input",28),f("ngModelChange",function(t){d(e);let r=s().$implicit,m=s();return u(m.updateFreeTextSettingName(r,t))}),_(),a(6,"spk-icon",29),g(7,"rectangle-dashed"),_()(),a(8,"spk-form-field")(9,"input",28),f("ngModelChange",function(t){d(e);let r=s().$implicit,m=s();return u(m.updateSettingValue(r,t))}),_(),a(10,"spk-icon",29),g(11,"textbox"),_()()()()}if(n&2){let e=s().$implicit,i=x(3);l(2),p("ngTemplateOutlet",i),l(3),p("ngModel",e.Name),l(4),p("ngModel",e.Value())}}function ye(n,o){n&1&&T(0)}function we(n,o){if(n&1){let e=C();a(0,"app-file-tree",19)(1,"label",30),c(2,ye,1,0,"ng-container",26),_(),a(3,"input",31),f("ngModelChange",function(t){d(e);let r=s().$implicit,m=s();return u(m.updateSettingValue(r,t))}),_()()}if(n&2){let e=s().$implicit,i=x(3),t=S(0);p("startingPath",e.Value())("accepts",e.FormView.accepts)("showFiles",!0)("showHiddenNodes",!0)("selectFiles",!0),l(),p("for",t),l(),p("ngTemplateOutlet",i),l(),p("id",t)("ngModel",e.Value())}}function Ve(n,o){if(n&1){let e=C();a(0,"app-file-tree",20),h(1,"label",30),a(2,"input",31),f("ngModelChange",function(t){d(e);let r=s().$implicit,m=s();return u(m.updateSettingValue(r,t))}),_()()}if(n&2){let e=s().$implicit,i=S(0);p("startingPath",e.Value()),l(),p("for",i),l(),p("id",i)("ngModel",e.Value())}}function Ie(n,o){n&1&&T(0)}function Le(n,o){n&1&&(a(0,"spk-icon",29),g(1,"link"),_())}function he(n,o){n&1&&(a(0,"spk-icon",29),g(1,"textbox"),_())}function Me(n,o){if(n&1){let e=C();a(0,"spk-form-field")(1,"label",30),c(2,Ie,1,0,"ng-container",26),_(),a(3,"input",31),f("ngModelChange",function(t){d(e);let r=s().$implicit,m=s();return u(m.updateSettingValue(r,t))}),_(),c(4,Le,2,0,"spk-icon",29)(5,he,2,0,"spk-icon",29),_()}if(n&2){let e=s().$implicit,i=x(3),t=S(0);l(),p("for",t),l(),p("ngTemplateOutlet",i),l(),p("id",t)("ngModel",e.Value()),l(),O(e.FormView.type==="Path"?4:5)}}function ke(n,o){n&1&&T(0)}function Pe(n,o){if(n&1){let e=C();a(0,"spk-icon",34),f("click",function(){d(e);let t=s(2).$implicit;return u(t.showPassword=!t.showPassword)}),g(1," eye "),_()}}function Ne(n,o){if(n&1){let e=C();a(0,"spk-icon",34),f("click",function(){d(e);let t=s(2).$implicit;return u(t.showPassword=!t.showPassword)}),g(1," eye-slash "),_()}}function Ee(n,o){if(n&1){let e=C();a(0,"spk-form-field")(1,"label",30),c(2,ke,1,0,"ng-container",26),_(),a(3,"input",32),f("ngModelChange",function(t){d(e);let r=s().$implicit,m=s();return u(m.updateSettingValue(r,t))}),_(),a(4,"spk-icon",29),g(5,"password"),_(),c(6,Pe,2,0,"spk-icon",33)(7,Ne,2,0,"spk-icon",33),_()}if(n&2){let e=s().$implicit,i=x(3),t=S(0);l(),p("for",t),l(),p("ngTemplateOutlet",i),l(),p("type",e.showPassword?"text":"password")("id",t)("ngModel",e.Value()),l(3),O(e.showPassword?6:7)}}function ve(n,o){n&1&&T(0)}function be(n,o){if(n&1&&g(0),n&2){let e=o.$implicit;k(" ",e," ")}}function $e(n,o){if(n&1){let e=C();a(0,"spk-select",35)(1,"label",30),c(2,ve,1,0,"ng-container",26),_(),a(3,"input",31),f("ngModelChange",function(t){d(e);let r=s().$implicit,m=s();return u(m.updateSettingValue(r,t))}),_()(),c(4,be,1,1,"ng-template",null,2,P)}if(n&2){let e=x(5),i=s().$implicit,t=x(3),r=S(0);p("options",i.FormView.options)("isClearable",!1)("optionTemplate",e),l(),p("for",r),l(),p("ngTemplateOutlet",t),l(),p("id",r)("ngModel",i.Value())}}function Ae(n,o){n&1&&T(0)}function De(n,o){if(n&1){let e=C();a(0,"app-size",36),R("ngModelChange",function(t){d(e);let r=s().$implicit;return D(r.Value,t)||(r.Value=t),u(t)}),a(1,"label",30),c(2,Ae,1,0,"ng-container",26),_()()}if(n&2){let e=s().$implicit,i=x(3),t=S(0);p("inputType",e.Name),A("ngModel",e.Value),p("customId",t),l(),p("for",t),l(),p("ngTemplateOutlet",i)}}function Re(n,o){n&1&&T(0)}function Be(n,o){if(n&1){let e=C();a(0,"spk-form-field")(1,"label",30),c(2,Re,1,0,"ng-container",26),_(),a(3,"input",37),f("ngModelChange",function(t){d(e);let r=s().$implicit,m=s();return u(m.updateSettingValue(r,t))}),_(),a(4,"spk-icon",29),g(5,"numpad"),_()()}if(n&2){let e=s().$implicit,i=x(3),t=S(0);l(),p("for",t),l(),p("ngTemplateOutlet",i),l(),p("id",t)("ngModel",e.Value())}}function Ge(n,o){n&1&&T(0)}function ze(n,o){if(n&1){let e=C();a(0,"spk-toggle",22)(1,"label",30),c(2,Ge,1,0,"ng-container",26),_(),a(3,"input",38),f("ngModelChange",function(t){d(e);let r=s().$implicit,m=s();return u(m.updateSettingValue(r,t))}),_()()}if(n&2){let e=s().$implicit,i=x(3),t=S(0);l(),p("for",t),l(),p("ngTemplateOutlet",i),l(),p("id",t)("ngModel",e.Value())}}function Ke(n,o){n&1&&T(0)}function Ue(n,o){if(n&1&&g(0),n&2){let e=o.$implicit;k(" ",e," ")}}function Xe(n,o){if(n&1){let e=C();a(0,"spk-select",39)(1,"label",30),c(2,Ke,1,0,"ng-container",26),_(),a(3,"input",40),f("ngModelChange",function(t){d(e);let r=s().$implicit,m=s();return u(m.updateSettingValue(r,t))}),_()(),c(4,Ue,1,1,"ng-template",null,3,P)}if(n&2){let e=x(5),i=s().$implicit,t=x(3),r=S(0);p("options",i.FormView.options)("selectMultiple",!0)("optionTemplate",e),l(),p("for",r),l(),p("ngTemplateOutlet",t),l(),p("ngModel",i.Value())}}function We(n,o){n&1&&T(0)}function je(n,o){if(n&1){let e=C();a(0,"app-timespan",36),R("ngModelChange",function(t){d(e);let r=s().$implicit;return D(r.Value,t)||(r.Value=t),u(t)}),a(1,"label",30),c(2,We,1,0,"ng-container",26),_()()}if(n&2){let e=s().$implicit,i=x(3),t=S(0);p("inputType",e.Name),A("ngModel",e.Value),p("customId",t),l(),p("for",t),l(),p("ngTemplateOutlet",i)}}function qe(n,o){if(n&1){let e=C();W(0)(1),c(2,Te,3,3,"ng-template",null,1,P),a(4,"div",17),c(5,Fe,12,3,"div",18)(6,we,4,9,"app-file-tree",19)(7,Ve,3,4,"app-file-tree",20)(8,Me,6,5,"spk-form-field")(9,Ee,8,6,"spk-form-field")(10,$e,6,7)(11,De,3,5,"app-size",21)(12,Be,6,4,"spk-form-field")(13,ze,4,4,"spk-toggle",22)(14,Xe,6,6)(15,je,3,5,"app-timespan",21),a(16,"button",23),f("click",function(){let t=d(e).$implicit,r=s();return u(r.removeSetting(t))}),a(17,"spk-icon"),g(18,"x-bold"),_()()()}if(n&2){let e=o.$implicit,i=o.$index,t=s();B("destination-"+e.Name+i),l(),B(t.inAppOptions(e.Name)),l(4),O(e.FormView.type==="FreeText"?5:e.FormView.type==="FileTree"?6:e.FormView.type==="FolderTree"?7:e.FormView.type==="String"||e.FormView.type==="Path"||e.FormView.type==="Decimal"?8:e.FormView.type==="Password"?9:e.FormView.type==="Enumeration"?10:e.FormView.type==="Size"?11:e.FormView.type==="Integer"?12:e.FormView.type==="Boolean"?13:e.FormView.type==="Flags"?14:e.FormView.type==="Timespan"||e.FormView.type==="DateTime"?15:-1)}}var ce=class n{#e=z(ne);options=K.required();hiddenOptions=w([]);hasFreeTextSettings=w(!1);applicationOptions=w();allOptionsGrouped=this.#e.allOptionsGrouped;allOptions=this.#e.allOptions;selectedSettings=G(()=>{let o=this.hiddenOptions();return this.options().map(t=>{let r=this.allOptions().find(m=>m.name===t.Name?.replace("--",""));if(r&&!o.includes(r.name)){let m=t.Value??"";r.type==="Boolean"&&(m=m&&m.toLowerCase()==="true"||!1),r.type==="Integer"&&(m=parseInt(m)||0);let de=N(m);return y(F({},t),{Value:de,FormView:r})}else if(this.hasFreeTextSettings())return y(F({},t),{Value:N(t.Value),FormView:{name:t.Name,type:"FreeText",shortDescription:"Custom settings argument",longDescription:"Custom settings argument"}});return null}).filter(t=>t!==null)});nonSelectedOptionsGrouped=G(()=>{let o=this.options().map(i=>i.Name),e=this.hiddenOptions();return this.allOptionsGrouped().map(i=>y(F({},i),{options:i.options.filter(t=>!o.includes(t.name)&&!e.includes(t.name))})).filter(i=>i.options.length>0)});inAppOptions(o){let e=this.applicationOptions()?.findIndex(i=>i.Name?.replace("--","")===o);return e===void 0?!1:e>-1}addFreeTextSetting(){this.hasFreeTextSettings()&&this.options.update(o=>[...o,{Filter:null,Name:"",Value:""}])}addSetting(o){this.options.update(e=>{let i=o.defaultValue??"";return o.type==="Boolean"&&(i=i.toLowerCase()==="true"||!1),o.type==="Integer"&&(i=parseInt(i)||0),[...e,{Name:o.name,Value:i}]})}updateSettingValue(o,e){this.options.update(i=>{let t=[...i],r=t.findIndex(m=>m.Name===o.Name);return o.FormView.type==="Boolean"?(t[r].Value=e?"True":"False",t):o.FormView.type==="Integer"?(t[r].Value=e.toString(),t):(t[r].Value=e,t)})}updateFreeTextSettingName(o,e){this.options.update(i=>{let t=[...i],r=t.findIndex(m=>m.Name===o.Name);return t[r].Name=e,t})}removeSetting(o){this.options.update(e=>e.filter(i=>i.Name!==o.Name))}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=U({type:n,selectors:[["app-options-list"]],inputs:{options:[1,"options"],hiddenOptions:[1,"hiddenOptions"],hasFreeTextSettings:[1,"hasFreeTextSettings"],applicationOptions:[1,"applicationOptions"]},outputs:{options:"optionsChange"},decls:16,vars:4,consts:()=>{let o;o=$localize`Advanced options`;let e;e=$localize` Add advanced option ${"\uFFFD#9\uFFFD"}:START_TAG_SPK_ICON:plus${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let i;i=$localize` New custom option ${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:pen${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let t;return t=$localize`By adding this option it will override the matching global option`,[["option",""],["defaultLabel",""],["enumOptionTemplate",""],["optionTemplate",""],o,e,i,[3,"disallowToggle"],["title",""],[1,"actions"],["spk-button","","type","button",1,"outlined","small"],[3,"searchable"],["menu",""],[1,"placeholder"],["spk-button","","type","button",1,"outlined","small",3,"click"],["type","button"],["type","button",3,"click"],[1,"field-row"],[1,"form-column"],[3,"startingPath","accepts","showFiles","showHiddenNodes","selectFiles"],[3,"startingPath"],[3,"inputType","ngModel","customId"],[1,"primary","raised"],["spk-button","","type","button",1,"outlined","remove-btn",3,"click"],["spkTooltip",t,1,"error"],[1,"primary",3,"spkTooltip"],[4,"ngTemplateOutlet"],[1,"form-row"],["type","text",3,"ngModelChange","ngModel"],["prefix",""],[3,"for"],["type","text",3,"ngModelChange","id","ngModel"],["autocomplete","off",3,"ngModelChange","type","id","ngModel"],["suffix","",1,"clickable"],["suffix","",1,"clickable",3,"click"],[3,"options","isClearable","optionTemplate"],[3,"ngModelChange","inputType","ngModel","customId"],["type","number",3,"ngModelChange","id","ngModel"],["type","checkbox",3,"ngModelChange","id","ngModel"],[1,"primary","raised",3,"options","selectMultiple","optionTemplate"],["type","text","id","text",3,"ngModelChange","ngModel"]]},template:function(e,i){e&1&&(a(0,"spk-toggle-card",7),E(1,8)(2),X(3,4),M(),a(4,"div",9),c(5,ue,3,0,"button",10),a(6,"spk-menu",11)(7,"button",10),v(8,5),h(9,"spk-icon"),b(),_(),E(10,12),I(11,Ce,4,1,null,null,V),M(),_()(),M(),c(13,fe,2,0,"div",13),I(14,qe,19,3,null,null,V),_()),e&2&&(p("disallowToggle",!0),l(5),O(i.hasFreeTextSettings()?5:-1),l(),p("searchable",!0),l(5),L(i.nonSelectedOptionsGrouped()),l(2),O(i.selectedSettings().length===0?13:-1),l(),L(i.selectedSettings()))},dependencies:[pe,oe,ae,ie,re,le,se,Z,J,H,Q,te,q,Y,ee,_e,me,j],styles:["[_nghost-%COMP%]{display:block}spk-select[_ngcontent-%COMP%]{--miw: p2r(120)}spk-toggle[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{font-size:1rem}.placeholder[_ngcontent-%COMP%]{color:var(--base-9);text-align:center;padding:2rem 1rem}.field-row[_ngcontent-%COMP%]{display:grid;align-items:center;grid-template-columns:1fr 2.5rem;gap:.5rem}.field-row[_ngcontent-%COMP%] .remove-btn[_ngcontent-%COMP%]{align-self:flex-end}.form-column[_ngcontent-%COMP%]{display:flex;gap:.25rem;flex-direction:column}label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}spk-icon[_ngcontent-%COMP%]{font-size:1rem}.form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:3fr 1fr;gap:.5rem;align-items:flex-end}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;justify-content:flex-end}"],changeDetection:0})};export{ce as a};
|
|
1
|
+
import{a as _e,b as me}from"./chunk-43BIRTPL.js";import{a as se}from"./chunk-FP6LM56A.js";import{a as ne}from"./chunk-2CXHZS6X.js";import{b as ie,c as oe,e as re,h as le,j as ae,s as pe}from"./chunk-ABANCAM5.js";import{A as ee,C as te,a as q,g as H,l as J,o as Q,t as Y,z as Z}from"./chunk-ESAGJOZZ.js";import{ia as j}from"./chunk-EBXJGPRA.js";import{Ab as V,Bb as I,Cb as L,Db as a,Dc as P,Eb as _,Fb as h,Gb as E,Hb as M,Ib as T,Jb as C,Pb as v,Qb as b,Qc as G,Rb as X,Ua as l,Vb as f,Wb as s,Z as z,bb as K,ea as d,fa as u,gb as U,ic as x,jc as g,kc as $,lb as c,lc as k,oc as A,pc as D,qc as R,rc as W,sa as w,sc as B,tc as S,ub as p,va as N,zb as O}from"./chunk-4KE2I7OA.js";import{a as F,b as y}from"./chunk-7CGTOI24.js";function ue(n,o){if(n&1){let e=C();a(0,"button",14),f("click",function(){d(e);let t=s();return u(t.addFreeTextSetting())}),v(1,6),h(2,"spk-icon"),b(),_()}}function ge(n,o){if(n&1){let e=C();a(0,"button",16,0),f("click",function(){let t=d(e).$implicit,r=s(2);return u(r.addSetting(t))}),g(2),_()}if(n&2){let e=o.$implicit;l(2),$(e.name)}}function Ce(n,o){if(n&1&&(a(0,"h3",8),g(1),_(),I(2,ge,3,1,"button",15,V)),n&2){let e=o.$implicit;l(),$(e.displayName),l(),L(e.options)}}function fe(n,o){n&1&&(a(0,"div",13),g(1,"Add a setting above to get started."),_())}function xe(n,o){n&1&&(a(0,"spk-icon",24),g(1," warning-octagon "),_())}function Se(n,o){if(n&1&&(a(0,"spk-icon",25),g(1,"question"),_()),n&2){let e=s(2).$implicit;p("spkTooltip",e.FormView.longDescription)}}function Te(n,o){if(n&1&&(c(0,xe,2,0,"spk-icon",24),g(1),c(2,Se,2,1,"spk-icon",25)),n&2){let e=s().$implicit,i=S(1);O(i?0:-1),l(),k(" ",e.FormView.shortDescription," "),l(),O(e.FormView.longDescription?2:-1)}}function Oe(n,o){n&1&&T(0)}function Fe(n,o){if(n&1){let e=C();a(0,"div",18)(1,"label"),c(2,Oe,1,0,"ng-container",26),_(),a(3,"div",27)(4,"spk-form-field")(5,"input",28),f("ngModelChange",function(t){d(e);let r=s().$implicit,m=s();return u(m.updateFreeTextSettingName(r,t))}),_(),a(6,"spk-icon",29),g(7,"rectangle-dashed"),_()(),a(8,"spk-form-field")(9,"input",28),f("ngModelChange",function(t){d(e);let r=s().$implicit,m=s();return u(m.updateSettingValue(r,t))}),_(),a(10,"spk-icon",29),g(11,"textbox"),_()()()()}if(n&2){let e=s().$implicit,i=x(3);l(2),p("ngTemplateOutlet",i),l(3),p("ngModel",e.Name),l(4),p("ngModel",e.Value())}}function ye(n,o){n&1&&T(0)}function we(n,o){if(n&1){let e=C();a(0,"app-file-tree",19)(1,"label",30),c(2,ye,1,0,"ng-container",26),_(),a(3,"input",31),f("ngModelChange",function(t){d(e);let r=s().$implicit,m=s();return u(m.updateSettingValue(r,t))}),_()()}if(n&2){let e=s().$implicit,i=x(3),t=S(0);p("startingPath",e.Value())("accepts",e.FormView.accepts)("showFiles",!0)("showHiddenNodes",!0)("selectFiles",!0),l(),p("for",t),l(),p("ngTemplateOutlet",i),l(),p("id",t)("ngModel",e.Value())}}function Ve(n,o){if(n&1){let e=C();a(0,"app-file-tree",20),h(1,"label",30),a(2,"input",31),f("ngModelChange",function(t){d(e);let r=s().$implicit,m=s();return u(m.updateSettingValue(r,t))}),_()()}if(n&2){let e=s().$implicit,i=S(0);p("startingPath",e.Value()),l(),p("for",i),l(),p("id",i)("ngModel",e.Value())}}function Ie(n,o){n&1&&T(0)}function Le(n,o){n&1&&(a(0,"spk-icon",29),g(1,"link"),_())}function he(n,o){n&1&&(a(0,"spk-icon",29),g(1,"textbox"),_())}function Me(n,o){if(n&1){let e=C();a(0,"spk-form-field")(1,"label",30),c(2,Ie,1,0,"ng-container",26),_(),a(3,"input",31),f("ngModelChange",function(t){d(e);let r=s().$implicit,m=s();return u(m.updateSettingValue(r,t))}),_(),c(4,Le,2,0,"spk-icon",29)(5,he,2,0,"spk-icon",29),_()}if(n&2){let e=s().$implicit,i=x(3),t=S(0);l(),p("for",t),l(),p("ngTemplateOutlet",i),l(),p("id",t)("ngModel",e.Value()),l(),O(e.FormView.type==="Path"?4:5)}}function ke(n,o){n&1&&T(0)}function Pe(n,o){if(n&1){let e=C();a(0,"spk-icon",34),f("click",function(){d(e);let t=s(2).$implicit;return u(t.showPassword=!t.showPassword)}),g(1," eye "),_()}}function Ne(n,o){if(n&1){let e=C();a(0,"spk-icon",34),f("click",function(){d(e);let t=s(2).$implicit;return u(t.showPassword=!t.showPassword)}),g(1," eye-slash "),_()}}function Ee(n,o){if(n&1){let e=C();a(0,"spk-form-field")(1,"label",30),c(2,ke,1,0,"ng-container",26),_(),a(3,"input",32),f("ngModelChange",function(t){d(e);let r=s().$implicit,m=s();return u(m.updateSettingValue(r,t))}),_(),a(4,"spk-icon",29),g(5,"password"),_(),c(6,Pe,2,0,"spk-icon",33)(7,Ne,2,0,"spk-icon",33),_()}if(n&2){let e=s().$implicit,i=x(3),t=S(0);l(),p("for",t),l(),p("ngTemplateOutlet",i),l(),p("type",e.showPassword?"text":"password")("id",t)("ngModel",e.Value()),l(3),O(e.showPassword?6:7)}}function ve(n,o){n&1&&T(0)}function be(n,o){if(n&1&&g(0),n&2){let e=o.$implicit;k(" ",e," ")}}function $e(n,o){if(n&1){let e=C();a(0,"spk-select",35)(1,"label",30),c(2,ve,1,0,"ng-container",26),_(),a(3,"input",31),f("ngModelChange",function(t){d(e);let r=s().$implicit,m=s();return u(m.updateSettingValue(r,t))}),_()(),c(4,be,1,1,"ng-template",null,2,P)}if(n&2){let e=x(5),i=s().$implicit,t=x(3),r=S(0);p("options",i.FormView.options)("isClearable",!1)("optionTemplate",e),l(),p("for",r),l(),p("ngTemplateOutlet",t),l(),p("id",r)("ngModel",i.Value())}}function Ae(n,o){n&1&&T(0)}function De(n,o){if(n&1){let e=C();a(0,"app-size",36),R("ngModelChange",function(t){d(e);let r=s().$implicit;return D(r.Value,t)||(r.Value=t),u(t)}),a(1,"label",30),c(2,Ae,1,0,"ng-container",26),_()()}if(n&2){let e=s().$implicit,i=x(3),t=S(0);p("inputType",e.Name),A("ngModel",e.Value),p("customId",t),l(),p("for",t),l(),p("ngTemplateOutlet",i)}}function Re(n,o){n&1&&T(0)}function Be(n,o){if(n&1){let e=C();a(0,"spk-form-field")(1,"label",30),c(2,Re,1,0,"ng-container",26),_(),a(3,"input",37),f("ngModelChange",function(t){d(e);let r=s().$implicit,m=s();return u(m.updateSettingValue(r,t))}),_(),a(4,"spk-icon",29),g(5,"numpad"),_()()}if(n&2){let e=s().$implicit,i=x(3),t=S(0);l(),p("for",t),l(),p("ngTemplateOutlet",i),l(),p("id",t)("ngModel",e.Value())}}function Ge(n,o){n&1&&T(0)}function ze(n,o){if(n&1){let e=C();a(0,"spk-toggle",22)(1,"label",30),c(2,Ge,1,0,"ng-container",26),_(),a(3,"input",38),f("ngModelChange",function(t){d(e);let r=s().$implicit,m=s();return u(m.updateSettingValue(r,t))}),_()()}if(n&2){let e=s().$implicit,i=x(3),t=S(0);l(),p("for",t),l(),p("ngTemplateOutlet",i),l(),p("id",t)("ngModel",e.Value())}}function Ke(n,o){n&1&&T(0)}function Ue(n,o){if(n&1&&g(0),n&2){let e=o.$implicit;k(" ",e," ")}}function Xe(n,o){if(n&1){let e=C();a(0,"spk-select",39)(1,"label",30),c(2,Ke,1,0,"ng-container",26),_(),a(3,"input",40),f("ngModelChange",function(t){d(e);let r=s().$implicit,m=s();return u(m.updateSettingValue(r,t))}),_()(),c(4,Ue,1,1,"ng-template",null,3,P)}if(n&2){let e=x(5),i=s().$implicit,t=x(3),r=S(0);p("options",i.FormView.options)("selectMultiple",!0)("optionTemplate",e),l(),p("for",r),l(),p("ngTemplateOutlet",t),l(),p("ngModel",i.Value())}}function We(n,o){n&1&&T(0)}function je(n,o){if(n&1){let e=C();a(0,"app-timespan",36),R("ngModelChange",function(t){d(e);let r=s().$implicit;return D(r.Value,t)||(r.Value=t),u(t)}),a(1,"label",30),c(2,We,1,0,"ng-container",26),_()()}if(n&2){let e=s().$implicit,i=x(3),t=S(0);p("inputType",e.Name),A("ngModel",e.Value),p("customId",t),l(),p("for",t),l(),p("ngTemplateOutlet",i)}}function qe(n,o){if(n&1){let e=C();W(0)(1),c(2,Te,3,3,"ng-template",null,1,P),a(4,"div",17),c(5,Fe,12,3,"div",18)(6,we,4,9,"app-file-tree",19)(7,Ve,3,4,"app-file-tree",20)(8,Me,6,5,"spk-form-field")(9,Ee,8,6,"spk-form-field")(10,$e,6,7)(11,De,3,5,"app-size",21)(12,Be,6,4,"spk-form-field")(13,ze,4,4,"spk-toggle",22)(14,Xe,6,6)(15,je,3,5,"app-timespan",21),a(16,"button",23),f("click",function(){let t=d(e).$implicit,r=s();return u(r.removeSetting(t))}),a(17,"spk-icon"),g(18,"x-bold"),_()()()}if(n&2){let e=o.$implicit,i=o.$index,t=s();B("destination-"+e.Name+i),l(),B(t.inAppOptions(e.Name)),l(4),O(e.FormView.type==="FreeText"?5:e.FormView.type==="FileTree"?6:e.FormView.type==="FolderTree"?7:e.FormView.type==="String"||e.FormView.type==="Path"||e.FormView.type==="Decimal"?8:e.FormView.type==="Password"?9:e.FormView.type==="Enumeration"?10:e.FormView.type==="Size"?11:e.FormView.type==="Integer"?12:e.FormView.type==="Boolean"?13:e.FormView.type==="Flags"?14:e.FormView.type==="Timespan"||e.FormView.type==="DateTime"?15:-1)}}var ce=class n{#e=z(ne);options=K.required();hiddenOptions=w([]);hasFreeTextSettings=w(!1);applicationOptions=w();allOptionsGrouped=this.#e.allOptionsGrouped;allOptions=this.#e.allOptions;selectedSettings=G(()=>{let o=this.hiddenOptions();return this.options().map(t=>{let r=this.allOptions().find(m=>m.name===t.Name?.replace("--",""));if(r&&!o.includes(r.name)){let m=t.Value??"";r.type==="Boolean"&&(m=m&&m.toLowerCase()==="true"||!1),r.type==="Integer"&&(m=parseInt(m)||0);let de=N(m);return y(F({},t),{Value:de,FormView:r})}else if(this.hasFreeTextSettings())return y(F({},t),{Value:N(t.Value),FormView:{name:t.Name,type:"FreeText",shortDescription:"Custom settings argument",longDescription:"Custom settings argument"}});return null}).filter(t=>t!==null)});nonSelectedOptionsGrouped=G(()=>{let o=this.options().map(i=>i.Name),e=this.hiddenOptions();return this.allOptionsGrouped().map(i=>y(F({},i),{options:i.options.filter(t=>!o.includes(t.name)&&!e.includes(t.name))})).filter(i=>i.options.length>0)});inAppOptions(o){let e=this.applicationOptions()?.findIndex(i=>i.Name?.replace("--","")===o);return e===void 0?!1:e>-1}addFreeTextSetting(){this.hasFreeTextSettings()&&this.options.update(o=>[...o,{Filter:null,Name:"",Value:""}])}addSetting(o){this.options.update(e=>{let i=o.defaultValue??"";return o.type==="Boolean"&&(i=i.toLowerCase()==="true"||!1),o.type==="Integer"&&(i=parseInt(i)||0),[...e,{Name:o.name,Value:i}]})}updateSettingValue(o,e){this.options.update(i=>{let t=[...i],r=t.findIndex(m=>m.Name===o.Name);return o.FormView.type==="Boolean"?(t[r].Value=e?"True":"False",t):o.FormView.type==="Integer"?(t[r].Value=e.toString(),t):(t[r].Value=e,t)})}updateFreeTextSettingName(o,e){this.options.update(i=>{let t=[...i],r=t.findIndex(m=>m.Name===o.Name);return t[r].Name=e,t})}removeSetting(o){this.options.update(e=>e.filter(i=>i.Name!==o.Name))}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=U({type:n,selectors:[["app-options-list"]],inputs:{options:[1,"options"],hiddenOptions:[1,"hiddenOptions"],hasFreeTextSettings:[1,"hasFreeTextSettings"],applicationOptions:[1,"applicationOptions"]},outputs:{options:"optionsChange"},decls:16,vars:4,consts:()=>{let o;o=$localize`Advanced options`;let e;e=$localize` Add advanced option ${"\uFFFD#9\uFFFD"}:START_TAG_SPK_ICON:plus${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let i;i=$localize` New custom option ${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:pen${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let t;return t=$localize`By adding this option it will override the matching global option`,[["option",""],["defaultLabel",""],["enumOptionTemplate",""],["optionTemplate",""],o,e,i,[3,"disallowToggle"],["title",""],[1,"actions"],["spk-button","","type","button",1,"outlined","small"],[3,"searchable"],["menu",""],[1,"placeholder"],["spk-button","","type","button",1,"outlined","small",3,"click"],["type","button"],["type","button",3,"click"],[1,"field-row"],[1,"form-column"],[3,"startingPath","accepts","showFiles","showHiddenNodes","selectFiles"],[3,"startingPath"],[3,"inputType","ngModel","customId"],[1,"primary","raised"],["spk-button","","type","button",1,"outlined","remove-btn",3,"click"],["spkTooltip",t,1,"error"],[1,"primary",3,"spkTooltip"],[4,"ngTemplateOutlet"],[1,"form-row"],["type","text",3,"ngModelChange","ngModel"],["prefix",""],[3,"for"],["type","text",3,"ngModelChange","id","ngModel"],["autocomplete","off",3,"ngModelChange","type","id","ngModel"],["suffix","",1,"clickable"],["suffix","",1,"clickable",3,"click"],[3,"options","isClearable","optionTemplate"],[3,"ngModelChange","inputType","ngModel","customId"],["type","number",3,"ngModelChange","id","ngModel"],["type","checkbox",3,"ngModelChange","id","ngModel"],[1,"primary","raised",3,"options","selectMultiple","optionTemplate"],["type","text","id","text",3,"ngModelChange","ngModel"]]},template:function(e,i){e&1&&(a(0,"spk-toggle-card",7),E(1,8)(2),X(3,4),M(),a(4,"div",9),c(5,ue,3,0,"button",10),a(6,"spk-menu",11)(7,"button",10),v(8,5),h(9,"spk-icon"),b(),_(),E(10,12),I(11,Ce,4,1,null,null,V),M(),_()(),M(),c(13,fe,2,0,"div",13),I(14,qe,19,3,null,null,V),_()),e&2&&(p("disallowToggle",!0),l(5),O(i.hasFreeTextSettings()?5:-1),l(),p("searchable",!0),l(5),L(i.nonSelectedOptionsGrouped()),l(2),O(i.selectedSettings().length===0?13:-1),l(),L(i.selectedSettings()))},dependencies:[pe,oe,ae,ie,re,le,se,Z,J,H,Q,te,q,Y,ee,_e,me,j],styles:["[_nghost-%COMP%]{display:block}spk-select[_ngcontent-%COMP%]{--miw: p2r(120)}spk-toggle[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{font-size:1rem}.placeholder[_ngcontent-%COMP%]{color:var(--base-9);text-align:center;padding:2rem 1rem}.field-row[_ngcontent-%COMP%]{display:grid;align-items:center;grid-template-columns:1fr 2.5rem;gap:.5rem}.field-row[_ngcontent-%COMP%] .remove-btn[_ngcontent-%COMP%]{align-self:flex-end}.form-column[_ngcontent-%COMP%]{display:flex;gap:.25rem;flex-direction:column}label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}spk-icon[_ngcontent-%COMP%]{font-size:1rem}.form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:3fr 1fr;gap:.5rem;align-items:flex-end}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;justify-content:flex-end}"],changeDetection:0})};export{ce as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as d}from"./chunk-RHW5QVAY.js";import{a as p}from"./chunk-FQ55IACT.js";import{h as o}from"./chunk-N5FH4YAX.js";import{E as i,F as r,P as u,T as c,Z as n,va as a}from"./chunk-4KE2I7OA.js";var B="backupListOrderBy",k="backupListShowActualTimes",h=[{value:"id",label:$localize`Backup ID`},{value:"name",label:$localize`Backup name`},{value:"lastrun",label:$localize`Last run time`},{value:"nextrun",label:$localize`Next run time`},{value:"schedule",label:$localize`Is scheduled`},{value:"backend",label:$localize`Destination type`},{value:"sourcesize",label:$localize`Source size`},{value:"destinationsize",label:$localize`Destination size`},{value:"duration",label:$localize`Duration`},{value:"-id",label:$localize`Backup ID (decending)`},{value:"-name",label:$localize`Backup name (decending)`},{value:"-lastrun",label:$localize`Last run time (decending)`},{value:"-nextrun",label:$localize`Next run time (decending)`},{value:"-schedule",label:$localize`Is scheduled (decending)`},{value:"-backend",label:$localize`Destination type (decending)`},{value:"-sourcesize",label:$localize`Source size (decending)`},{value:"-destinationsize",label:$localize`Destination size (decending)`},{value:"-duration",label:$localize`Duration (decending)`}],m=class l{#t=n(p);#i=n(o);#u=null;#e=a([]);#a=a([]);#l=a(!1);#s=a(null);#c=a(null);#n=a(this.#t.getItemParsed(k,!0)??"relative");#r=a(this.#t.getItemParsed(B,!0)??"id");orderByOptions=a(h);orderBy=this.#r.asReadonly();backups=this.#a.asReadonly();timeType=this.#n.asReadonly();backupsLoading=this.#l.asReadonly();startingBackup=this.#s.asReadonly();deletingBackup=this.#c.asReadonly();draftBackups=this.#e.asReadonly();addDraftBackup(e){let t=d();return this.#e.set([...this.#e(),{id:t,data:e}]),t}setOrderBy(e){this.#t.setItemParsed(B,e,!0),this.#r.set(e),this.getBackups(!0)}setTimeType(e){this.#t.setItemParsed(k,e,!0),this.#n.set(e)}removeDraftBackupById(e){this.#e.set(this.#e().filter(t=>t.id!==e))}getBackupById(e){return this.#a().find(t=>t.Backup?.ID===e)??null}getBackups(e=!1){let t=this.#u,s=Date.now(),y=t&&s-t<15*60*1e3;t&&s-t<100||!e&&y&&this.#a().length||(this.#u=s,this.#l.set(!0),this.#i.getApiV1Backups({orderBy:this.#r()}).pipe(i(1),u(b=>this.#a.set(b)),r(()=>this.#l.set(!1))).subscribe())}startBackup(e){this.#s.set(e),this.#i.postApiV1BackupByIdStart({id:e}).pipe(i(1),u(()=>this.getBackups(!0)),r(()=>this.#s.set(null))).subscribe()}deleteBackup(e){return this.#i.deleteApiV1BackupById(e).pipe(i(1))}static \u0275fac=function(t){return new(t||l)};static \u0275prov=c({token:l,factory:l.\u0275fac,providedIn:"root"})};export{m as a};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{W as S}from"./chunk-
|
|
1
|
+
import{W as S}from"./chunk-EBXJGPRA.js";var m=":",b="|",E="@@",j="\u241F",T;function A(e){T??=new TextEncoder;let t=T.encode(e),n=new DataView(t.buffer,t.byteOffset,t.byteLength),i=L(n,t.length,0),r=L(n,t.length,102072);return i==0&&(r==0||r==1)&&(i=i^319790063,r=r^-1801410264),BigInt.asUintN(32,BigInt(i))<<BigInt(32)|BigInt.asUintN(32,BigInt(r))}function O(e,t=""){let n=A(e);return t&&(n=BigInt.asUintN(64,n<<BigInt(1))|n>>BigInt(63)&BigInt(1),n+=A(t)),BigInt.asUintN(63,n).toString()}function L(e,t,n){let i=2654435769,r=2654435769,s=0,o=t-12;for(;s<=o;s+=12){i+=e.getUint32(s,!0),r+=e.getUint32(s+4,!0),n+=e.getUint32(s+8,!0);let a=N(i,r,n);i=a[0],r=a[1],n=a[2]}let l=t-s;return n+=t,l>=4?(i+=e.getUint32(s,!0),s+=4,l>=8?(r+=e.getUint32(s,!0),s+=4,l>=9&&(n+=e.getUint8(s++)<<8),l>=10&&(n+=e.getUint8(s++)<<16),l===11&&(n+=e.getUint8(s++)<<24)):(l>=5&&(r+=e.getUint8(s++)),l>=6&&(r+=e.getUint8(s++)<<8),l===7&&(r+=e.getUint8(s++)<<16))):(l>=1&&(i+=e.getUint8(s++)),l>=2&&(i+=e.getUint8(s++)<<8),l===3&&(i+=e.getUint8(s++)<<16)),N(i,r,n)[2]}function N(e,t,n){return e-=t,e-=n,e^=n>>>13,t-=n,t-=e,t^=e<<8,n-=e,n-=t,n^=t>>>13,e-=t,e-=n,e^=n>>>12,t-=n,t-=e,t^=e<<16,n-=e,n-=t,n^=t>>>5,e-=t,e-=n,e^=n>>>3,t-=n,t-=e,t^=e<<10,n-=e,n-=t,n^=t>>>15,[e,t,n]}function y(e,t,n,i,r=[]){let s={},o={},l={},a=C(e[0],e.raw[0]),u=[a.text],$=[],g=a.text;for(let c=1;c<e.length;c++){let{messagePart:x,placeholderName:f=P(c),associatedMessageId:v}=M(e[c],e.raw[c]);g+=`{$${f}}${x}`,t!==void 0&&(s[f]=t[c-1],o[f]=r[c-1]),$.push(f),v!==void 0&&(l[f]=v),u.push(x)}let I=a.customId||O(g,a.meaning||""),U=a.legacyIds?a.legacyIds.filter(c=>c!==I):[];return{id:I,legacyIds:U,substitutions:s,substitutionLocations:o,text:g,customId:a.customId,meaning:a.meaning||"",description:a.description||"",messageParts:u,messagePartLocations:i,placeholderNames:$,associatedMessageIds:l,location:n}}function C(e,t){let{text:n,block:i}=z(e,t);if(i===void 0)return{text:n};{let[r,...s]=i.split(j),[o,l]=r.split(E,2),[a,u]=o.split(b,2);return u===void 0&&(u=a,a=void 0),u===""&&(u=void 0),{text:n,meaning:a,description:u,customId:l,legacyIds:s}}}function M(e,t){let{text:n,block:i}=z(e,t);if(i===void 0)return{messagePart:n};{let[r,s]=i.split(E);return{messagePart:n,placeholderName:r,associatedMessageId:s}}}function z(e,t){if(t.charAt(0)!==m)return{text:e};{let n=w(e,t);return{block:e.substring(1,n),text:e.substring(n+1)}}}function P(e){return e===1?"PH":`PH_${e-1}`}function w(e,t){for(let n=1,i=1;n<e.length;n++,i++)if(t[i]==="\\")i++;else if(e[n]===m)return n;throw new Error(`Unterminated $localize metadata block in "${t}".`)}var p=class extends Error{parsedMessage;type="MissingTranslationError";constructor(t){super(`No translation found for ${B(t)}.`),this.parsedMessage=t}};function D(e,t,n){let i=y(t,n),r=e[i.id];if(i.legacyIds!==void 0)for(let s=0;s<i.legacyIds.length&&r===void 0;s++)r=e[i.legacyIds[s]];if(r===void 0)throw new p(i);return[r.messageParts,r.placeholderNames.map(s=>{if(i.substitutions.hasOwnProperty(s))return i.substitutions[s];throw new Error(`There is a placeholder name mismatch with the translation provided for the message ${B(i)}.
|
|
2
2
|
The translation contains a placeholder with name ${s}, which does not exist in the message.`)})]}function k(e){let t=e.split(/{\$([^}]*)}/),n=[t[0]],i=[];for(let s=1;s<t.length-1;s+=2)i.push(t[s]),n.push(`${t[s+1]}`);let r=n.map(s=>s.charAt(0)===m?"\\"+s:s);return{text:e,messageParts:_(n,r),placeholderNames:i}}function _(e,t){return Object.defineProperty(e,"raw",{value:t}),e}function B(e){let t=e.meaning&&` - "${e.meaning}"`,n=e.legacyIds&&e.legacyIds.length>0?` [${e.legacyIds.map(i=>`"${i}"`).join(", ")}]`:"";return`"${e.id}"${n} ("${e.text}"${t})`}function R(e){$localize.translate||($localize.translate=G),$localize.TRANSLATIONS||($localize.TRANSLATIONS={}),Object.keys(e).forEach(t=>{$localize.TRANSLATIONS[t]=k(e[t])})}function G(e,t){try{return D($localize.TRANSLATIONS,e,t)}catch(n){return console.warn(n.message),[e,t]}}var d="en-US",V=[{value:"en",label:"English (en-US)"},{value:"en-GB",label:"English (en-GB)"},{value:"cs",label:"Czech (cs)"},{value:"da",label:"Danish (da)"},{value:"de",label:"German (de)"},{value:"es",label:"Spanish (es)"},{value:"fi",label:"Finnish (fi)"},{value:"fr",label:"French (fr)"},{value:"hu",label:"Hungarian (hu)"},{value:"it",label:"Italian (it)"},{value:"ja-JP",label:"Japanese (ja-JP)"},{value:"nl-NL",label:"Dutch (nl-NL)"},{value:"pl",label:"Polish (pl)"},{value:"pt-BR",label:"Portuguese (pt-BR)"},{value:"pt",label:"Portuguese (pt)"},{value:"ru",label:"Russian (ru)"},{value:"sr-RS",label:"Serbian (sr-RS)"},{value:"sv-SE",label:"Swedish (sv-SE)"},{value:"zh-CN",label:"Chinese (zh-CN)"},{value:"zh-TW",label:"Chinese (zh-TW)"}],h={en:"en","en-US":"en","en-GB":"en-GB","en-AU":"en","en-CA":"en",cs:"cs","cs-CZ":"cs",da:"da","da-DK":"da",de:"de","de-DE":"de","de-AT":"de",es:"es","es-ES":"es","es-MX":"es",fi:"fi","fi-FI":"fi",fr:"fr","fr-FR":"fr","fr-CA":"fr",hu:"hu","hu-HU":"hu",it:"it","it-IT":"it",ja:"ja-JP","ja-JP":"ja-JP",nl:"nl-NL","nl-NL":"nl-NL","nl-BE":"nl-NL",pl:"pl","pl-PL":"pl",pt:"pt","pt-BR":"pt-BR","pt-PT":"pt",ru:"ru","ru-RU":"ru",sr:"sr-RS","sr-RS":"sr-RS",sv:"sv-SE","sv-SE":"sv-SE","sv-FI":"sv-SE",zh:"zh-CN","zh-CN":"zh-CN","zh-SG":"zh-CN","zh-TW":"zh-TW","zh-HK":"zh-TW"},F={"ja-JP":"ja","nl-NL":"nl","sr-RS":"sr","sv-SE":"sv","zh-CN":"zh-Hans","zh-TW":"zh-Hant"},H=Array.from(new Set(Object.values(h)));function X(e){return e?h[e]??"en":"en"}function Y(){let e=localStorage.getItem("v1:duplicati:locale")||d,t=H.find(o=>o===e)??d,n=h[t]??h[t.split("-")[0]]??d;if(t===d)return t;import(`/locale/angular/${F[n]??n}.mjs`).then(o=>S(o.default));var r=n.replace(/-/g,"_");let s=t==="en"?"":"."+r;return fetch(`/locale/messages${s}.json`).then(o=>o.json()).then(o=>{R(o.translations),$localize.locale=t}),t}export{V as a,X as b,Y as c};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{h as y}from"./chunk-
|
|
1
|
+
import{h as y}from"./chunk-N5FH4YAX.js";import"./chunk-EBXJGPRA.js";import{Ab as v,Bb as b,Cb as L,Db as o,Eb as i,F as m,Qc as P,T as h,Ua as s,Wb as x,Z as r,gb as f,jc as a,kc as M,lb as u,va as d,vb as C,zb as _}from"./chunk-4KE2I7OA.js";import"./chunk-7CGTOI24.js";var l=class e{#e=r(y);isLoaded=d(!1);crashLog=d(null);load(){this.isLoaded()||this.#e.getApiV1LogdataCrashlog().pipe(m(()=>this.isLoaded.set(!0))).subscribe({next:t=>{this.crashLog.set(t.Logdata??null)}})}static \u0275fac=function(n){return new(n||e)};static \u0275prov=h({token:e,factory:e.\u0275fac,providedIn:"root"})};function S(e,t){e&1&&(o(0,"div",0),a(1,"Loading ..."),i())}function k(e,t){e&1&&(o(0,"div",0),a(1,"No crash log found"),i())}function w(e,t){if(e&1&&(o(0,"li"),a(1),i()),e&2){let n=t.$implicit;s(),M(n)}}function I(e,t){if(e&1&&(o(0,"div",2)(1,"code")(2,"ol",3),b(3,w,2,1,"li",null,v),i()()()),e&2){let n=x();C("grid-column","1 / -1")("height","auto"),s(3),L(n.breakIntoLines(n.crashLog()))}}var p=class e{#e=r(l);logsLoading=P(()=>!this.#e.isLoaded());crashLog=this.#e.crashLog;ngOnInit(){this.#e.load()}breakIntoLines(t){return t?t.split(`
|
|
2
2
|
`):[]}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=f({type:e,selectors:[["app-crashlogs"]],decls:5,vars:1,consts:[[1,"loading"],[2,"white-space","pre-wrap",3,"grid-column","height"],[2,"white-space","pre-wrap"],[1,"line-numbers-ol"]],template:function(n,c){if(n&1&&(o(0,"h3"),a(1,"Crash log"),i(),u(2,S,2,0,"div",0)(3,k,2,0,"div",0)(4,I,5,4,"div",1)),n&2){let g;s(2),_(c.logsLoading()?2:c.crashLog()==null||((g=c.crashLog())==null?null:g.length)===0?3:4)}},styles:["[_nghost-%COMP%]{display:block}h3[_ngcontent-%COMP%]{font:var(--title-30);margin:0 0 1.25rem}spk-table[_ngcontent-%COMP%]{--table-columns: auto auto 1fr auto}spk-table[_ngcontent-%COMP%] td.id[_ngcontent-%COMP%]{justify-content:center}spk-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:has(code){padding:1rem .75rem;overflow:hidden}spk-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:has(code) code[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--base-8),#000 70%);color:#fff;padding:2.5rem 2.5rem 2.5rem 1.5rem;border-radius:var(--shape-3);overflow:auto;white-space:pre}"],changeDetection:0})};export{p as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as M}from"./chunk-FSKPPAVO.js";import"./chunk-FQ55IACT.js";import"./chunk-WRKRV6RQ.js";import"./chunk-DYTQQHMA.js";import{g as h}from"./chunk-ESAGJOZZ.js";import"./chunk-N5FH4YAX.js";import"./chunk-EBXJGPRA.js";import{Db as t,Eb as i,Fb as g,Rb as c,Ua as u,Xb as C,Yb as l,Z as p,gb as s,jc as O,lb as _,zb as f}from"./chunk-4KE2I7OA.js";import"./chunk-7CGTOI24.js";var v=["*",[["","footer",""]]],T=["*","[footer]"],r=class n{static \u0275fac=function(e){return new(e||n)};static \u0275cmp=s({type:n,selectors:[["app-custom-card"]],ngContentSelectors:T,decls:11,vars:0,consts:[[1,"card"],["src","/assets/noise/auth-noise.svg",1,"noise"],[1,"header-title"],["src","/assets/duplicati/duplicati.svg","alt",""],[1,"bg"]],template:function(e,a){e&1&&(C(v),t(0,"div",0),g(1,"img",1),t(2,"header")(3,"div",2),g(4,"img",3),O(5," Duplicati "),i()(),t(6,"main"),l(7),t(8,"footer"),l(9,1),i()()(),g(10,"div",4))},styles:['[_nghost-%COMP%]{height:100vh;width:100vw;display:flex;align-items:center;justify-content:center;background-color:var(--base-2)}body.dark [_nghost-%COMP%] .card[_ngcontent-%COMP%]:before{background:radial-gradient(rgba(var(--primary-rgb-900),1),#0000 60%)}.card[_ngcontent-%COMP%]{max-width:30rem;width:100%;position:relative;z-index:100;background-color:var(--base-1);border-radius:var(--shape-5);box-shadow:var(--box-shadow-40);border:1px solid var(--base-3);overflow:hidden}.card[_ngcontent-%COMP%]:before{content:"";position:absolute;height:30rem;transform:translateY(-17.8125rem);left:0;right:0;z-index:-2;background:radial-gradient(rgba(var(--primary-rgb-100),1),#0000 60%)}.card[_ngcontent-%COMP%] img.noise[_ngcontent-%COMP%]{position:absolute;height:30rem;width:100%;transform:translateY(-17.8125rem);left:0;right:0;z-index:-1;mask-image:radial-gradient(#000,#0000 60%)}header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;padding:2rem 2rem 0;gap:.75rem;position:relative;z-index:10}.header-title[_ngcontent-%COMP%]{font:var(--title-30);display:flex;align-items:center;gap:.625rem}.header-title[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{height:1.75rem;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3))}main[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;padding:2rem;gap:2.5rem;position:relative;z-index:10}main[_ngcontent-%COMP%] footer[_ngcontent-%COMP%]{font:var(--paragraph-40);color:var(--base-9);text-align:center;text-wrap:balance}.bg[_ngcontent-%COMP%]{position:fixed;inset:0;width:100vw;height:100vh;background-image:url(/assets/backgrounds/base-bg.svg);background-size:cover;background-position:center;background-repeat:no-repeat}body.dark[_ngcontent-%COMP%] .bg[_ngcontent-%COMP%]{opacity:1}footer[_ngcontent-%COMP%]:empty{display:none}'],changeDetection:0})};function y(n,o){n&1&&(t(0,"h3"),c(1,0),i())}function S(n,o){n&1&&(t(0,"h3"),c(1,1),i(),t(2,"button",3),c(3,2),i())}var d=class n{#e=p(M);isLoggingOut=this.#e.isLoggingOut;ngOnInit(){this.#e.logout()}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=s({type:n,selectors:[["app-logout"]],decls:3,vars:1,consts:()=>{let o;o=$localize`Logging out...`;let e;e=$localize`You have successfully logged out your being redirected to login page.`;let a;return a=$localize`Go to login page`,[o,e,a,["spk-button","","routerLink","/",1,"raised","primary"]]},template:function(e,a){e&1&&(t(0,"app-custom-card"),_(1,y,2,0,"h3")(2,S,4,0),i()),e&2&&(u(),f(a.isLoggingOut()?1:2))},dependencies:[r,h],styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0})};export{d as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"./chunk-GQGMGFDX.js";import"./chunk-EBXJGPRA.js";import"./chunk-QUOBR5MG.js";import"./chunk-4KE2I7OA.js";import"./chunk-7CGTOI24.js";export{a as RelativeTimePipe};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Q as d,Qc as m,Sc as g,Z as y,ca as l,la as b,va as a}from"./chunk-4KE2I7OA.js";import{a as f,b as v}from"./chunk-7CGTOI24.js";function p(o,e){let r=!e?.manualCleanup;r&&!e?.injector&&l(p);let c=r?e?.injector?.get(b)??y(b):null,u=h(e?.equal),n;e?.requireSync?n=a({kind:0},{equal:u}):n=a({kind:1,value:e?.initialValue},{equal:u});let i=o.subscribe({next:t=>n.set({kind:1,value:t}),error:t=>{if(e?.rejectErrors)throw t;n.set({kind:2,error:t})}});if(e?.requireSync&&n().kind===0)throw new d(601,!1);return c?.onDestroy(i.unsubscribe.bind(i)),m(()=>{let t=n();switch(t.kind){case 1:return t.value;case 2:throw t.error;case 0:throw new d(601,!1)}},{equal:e?.equal})}function h(o=Object.is){return(e,r)=>e.kind===1&&r.kind===1&&o(e.value,r.value)}function w(o){return o?.injector||l(w),g(v(f({},o),{loader:void 0,stream:e=>{let r,c=()=>r.unsubscribe();e.abortSignal.addEventListener("abort",c);let u=a({value:void 0}),n,i=new Promise(s=>n=s);function t(s){u.set(s),n?.(u),n=void 0}return r=o.loader(e).subscribe({next:s=>t({value:s}),error:s=>t({error:s}),complete:()=>{n&&t({error:new Error("Resource completed before producing a value")}),e.abortSignal.removeEventListener("abort",c)}}),i}}))}export{p as a,w as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{e as a,f as b,g as c}from"./chunk-VPTXHYYV.js";import"./chunk-43BIRTPL.js";import"./chunk-FP6LM56A.js";import"./chunk-M5RL4LRX.js";import"./chunk-HIW2CN45.js";import"./chunk-4V45XF67.js";import"./chunk-UEYPJIJG.js";import"./chunk-2CXHZS6X.js";import"./chunk-LUKUBN2Z.js";import"./chunk-RHW5QVAY.js";import"./chunk-ABANCAM5.js";import"./chunk-WRKRV6RQ.js";import"./chunk-DYTQQHMA.js";import"./chunk-ESAGJOZZ.js";import"./chunk-N5FH4YAX.js";import"./chunk-EBXJGPRA.js";import"./chunk-4KE2I7OA.js";import"./chunk-7CGTOI24.js";export{b as NONE_OPTION,a as createGeneralForm,c as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as D}from"./chunk-
|
|
1
|
+
import{a as D}from"./chunk-2CXHZS6X.js";import{a as b,n as w}from"./chunk-ESAGJOZZ.js";import"./chunk-N5FH4YAX.js";import{ia as A}from"./chunk-EBXJGPRA.js";import{Bb as I,Cb as v,Db as c,Dc as F,Eb as r,Ib as u,Jb as M,Qc as $,Rb as P,Ua as l,Vb as k,Wb as s,Z as y,ea as O,fa as x,gb as T,ic as C,jc as p,kc as E,lb as a,ub as d,va as m,vb as h,wb as f,wc as _,xc as N,zb as g}from"./chunk-4KE2I7OA.js";import"./chunk-7CGTOI24.js";var L=e=>({children:e,level:0}),R=e=>({$implicit:e}),V=(e,t)=>({children:e,level:t}),j=(e,t)=>t.id;function z(e,t){if(e&1&&(c(0,"spk-icon"),p(1,"caret-down"),r()),e&2){let n=s().$implicit;f("open",n.isOpen())}}function B(e,t){e&1&&(c(0,"spk-icon"),p(1,"dot"),r())}function G(e,t){e&1&&u(0)}function U(e,t){if(e&1&&a(0,G,1,0,"ng-container",3),e&2){let n=s().$implicit,o=s().$implicit;s();let i=C(3);d("ngTemplateOutlet",i)("ngTemplateOutletContext",_(5,R,N(2,V,n.children,o.level+1)))}}function X(e,t){if(e&1){let n=M();c(0,"div",4,1),k("click",function(){let i=O(n).$implicit,Y=s(2);return x(i.children.length>0&&Y.toggleNode(i))}),a(2,z,2,2,"spk-icon",5)(3,B,2,0,"spk-icon"),c(4,"div",6),p(5),r()(),a(6,U,1,7,"ng-container")}if(e&2){let n=t.$implicit;f("cannot-toggle",n.children.length===0)("open",n.isOpen()),l(2),g(n.children.length>0?2:3),l(3),E(n.text),l(),g(n.isOpen()?6:-1)}}function q(e,t){if(e&1&&(c(0,"spk-list"),I(1,X,7,7,null,null,j),r()),e&2){let n=t.$implicit;h("padding-left",n.level*.25,"rem"),l(),v(n.children)}}function H(e,t){e&1&&u(0)}var S=class e{#e=y(D);treeStructure=$(()=>{let t=this.#e.systemInfo();return this.processObject(t,0)});toggleNode(t){t.isOpen.update(n=>!n)}processObject(t,n){let o=[];for(let i in t)typeof t[i]=="object"?o.push({id:i,text:i,children:this.processObject(t[i],n+1),level:n,isOpen:m(!1)}):o.push({id:i,text:`${i}: ${t[i]}`,children:[],level:n,isOpen:m(!1)});return o}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=T({type:e,selectors:[["app-server-settings"]],decls:5,vars:6,consts:()=>{let t;return t=$localize`System info`,[["recursiveTree",""],["treeNode",""],t,[4,"ngTemplateOutlet","ngTemplateOutletContext"],["action","",3,"click"],[3,"open"],[1,"text"]]},template:function(n,o){if(n&1&&(c(0,"h3"),P(1,2),r(),a(2,q,3,2,"ng-template",null,0,F)(4,H,1,0,"ng-container",3)),n&2){let i=C(3);l(4),d("ngTemplateOutlet",i)("ngTemplateOutletContext",_(4,R,_(2,L,o.treeStructure())))}},dependencies:[w,b,A],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column}h3[_ngcontent-%COMP%]{font:var(--title-30);margin:0 0 1.25rem}spk-icon[_ngcontent-%COMP%]{font-size:1rem}spk-list[_ngcontent-%COMP%]{padding:0}spk-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%]{padding:0}spk-list[_ngcontent-%COMP%] [action].cannot-toggle[_ngcontent-%COMP%]{cursor:initial}"],changeDetection:0})};export{S as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as ae}from"./chunk-
|
|
1
|
+
import{a as ae}from"./chunk-XWYNCG3P.js";import{a as te}from"./chunk-UEYPJIJG.js";import"./chunk-XHPURHO2.js";import"./chunk-7V4TPS4B.js";import{a as Q}from"./chunk-T5WAKBP3.js";import"./chunk-LUKUBN2Z.js";import"./chunk-RHW5QVAY.js";import"./chunk-DLJSVAM2.js";import{c as Y,e as Z,h as x,s as ee}from"./chunk-ABANCAM5.js";import"./chunk-FSKPPAVO.js";import"./chunk-FQ55IACT.js";import{b as z,e as q}from"./chunk-WRKRV6RQ.js";import"./chunk-DYTQQHMA.js";import{a as H,g as W,l as j}from"./chunk-ESAGJOZZ.js";import{h as J}from"./chunk-N5FH4YAX.js";import"./chunk-GQGMGFDX.js";import"./chunk-EBXJGPRA.js";import"./chunk-QUOBR5MG.js";import{Db as i,E as g,Eb as a,F as d,Fb as l,N as E,Pb as p,Qb as r,Qc as k,Rb as F,Rc as h,Sb as L,Tb as U,Ua as s,Vb as u,Z as D,gb as y,jc as C,lb as v,oc as w,pc as X,qc as V,r as O,ub as A,va as c,wb as P,yb as G,zb as K}from"./chunk-4KE2I7OA.js";import"./chunk-7CGTOI24.js";function ie(S,t){S&1&&(i(0,"spk-icon",18),C(1,"check"),a())}function ne(S,t){S&1&&(i(0,"spk-icon",18),C(1,"warning"),a())}var m=class S{#a=D(z);#i=D(Q);#e=D(J);#t="";backupId=te(this.#a.params.pipe(O(t=>t.id)));activeBackup=k(()=>{let t=this.#i.backups().find(_=>_.Backup?.ID===this.backupId());return this.#t=t?.Backup?.DBPath??"",t});backupFilePath=c("");lastValidatedPath=c("");isValidatedPath=k(()=>this.lastValidatedPath()===this.backupFilePath());pathHasChanged=k(()=>this.backupFilePath()!==this.#t);backupFilePathEffect=h(()=>{let t=this.backupFilePath();t!==""&&this.#e.postApiV1FilesystemValidate({requestBody:{path:t}}).subscribe({next:()=>this.lastValidatedPath.set(t)})});isRestoring=c(!1);isRepairing=c(!1);isDeleting=c(!1);isSavingDbPath=c(!1);isSavingAndRepairing=c(!1);isMovingDb=c(!1);activeBackupEffect=h(()=>{let t=this.activeBackup();if(!t)return;let _=t.Backup?.DBPath??"";this.backupFilePath.set(_)});repairDatabase(){this.isRepairing.set(!0),this.#e.postApiV1BackupByIdRepair({id:this.backupId()}).pipe(g(1),d(()=>this.isRepairing.set(!1))).subscribe()}deleteDatabase(){this.isDeleting.set(!0),this.#e.postApiV1BackupByIdDeletedb({id:this.backupId()}).pipe(g(1),d(()=>this.isDeleting.set(!1))).subscribe()}restoreDatabase(){this.isRestoring.set(!0),this.#e.postApiV1BackupByIdDeletedb({id:this.backupId()}).pipe(g(1),E(()=>this.#e.postApiV1BackupByIdRepair({id:this.backupId()})),d(()=>this.isRestoring.set(!1))).subscribe()}resetDatabasePath(){this.backupFilePath.set(this.#t)}saveDatabasePath(){this.isSavingDbPath.set(!0),this.#e.postApiV1BackupByIdUpdatedb({id:this.backupId(),requestBody:{path:this.backupFilePath()}}).pipe(d(()=>this.isSavingDbPath.set(!1))).subscribe()}saveAndRepairDatabasePath(){this.isSavingAndRepairing.set(!0),this.#e.postApiV1BackupByIdUpdatedb({id:this.backupId(),requestBody:{path:this.backupFilePath()}}).pipe(E(()=>this.#e.postApiV1BackupByIdRepair({id:this.backupId()})),d(()=>this.isSavingAndRepairing.set(!1)))}moveDatabasePath(){this.isMovingDb.set(!0),this.#e.postApiV1BackupByIdMovedb({id:this.backupId(),requestBody:{path:this.backupFilePath()}}).pipe(d(()=>this.isMovingDb.set(!1))).subscribe()}static \u0275fac=function(_){return new(_||S)};static \u0275cmp=y({type:S,selectors:[["app-database"]],decls:46,vars:18,consts:()=>{let t;t=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_ICON: Back `;let _;_=$localize`Local database for ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let e;e=$localize` Each backup has a local database associated with it, which stores information about the remote backup on the local machine. This makes it faster to perform many operations, and reduces the amount of data that needs to be downloaded for each operation. `;let n;n=$localize`Maintenance`;let T;T=$localize` If the backup and the remote storage is out of sync, Duplicati will require that you perform a repair operation to synchronize the database. If the repair is unsuccessful, you can delete the local database and re-generate. `;let b;b=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SPK_ICON:wrench${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SPK_ICON: Repair `;let f;f=$localize`${"\uFFFD#22\uFFFD"}:START_TAG_SPK_ICON:trash${"\uFFFD/#22\uFFFD"}:CLOSE_TAG_SPK_ICON: Delete `;let B;B=$localize`${"\uFFFD#25\uFFFD"}:START_TAG_SPK_ICON:clock-counter-clockwise${"\uFFFD/#25\uFFFD"}:CLOSE_TAG_SPK_ICON: Restore (delete and repair) `;let I;I=$localize`Placement`;let M;M=$localize`${"\uFFFD#36\uFFFD"}:START_TAG_SPK_ICON:backspace${"\uFFFD/#36\uFFFD"}:CLOSE_TAG_SPK_ICON: Reset `;let N;N=$localize`${"\uFFFD#39\uFFFD"}:START_TAG_SPK_ICON:floppy-disk${"\uFFFD/#39\uFFFD"}:CLOSE_TAG_SPK_ICON: Save `;let $;$=$localize`${"\uFFFD#42\uFFFD"}:START_TAG_SPK_ICON:wrench${"\uFFFD/#42\uFFFD"}:CLOSE_TAG_SPK_ICON: Save & Repair `;let R;return R=$localize`${"\uFFFD#45\uFFFD"}:START_TAG_SPK_ICON:flow-arrow${"\uFFFD/#45\uFFFD"}:CLOSE_TAG_SPK_ICON: Move existing database `,[t,_,e,n,T,b,f,B,I,M,N,$,R,[1,"back"],["type","button","spk-button","","routerLink","/",1,"small"],[1,"actions","maintenance"],["spk-button","",3,"click","disabled"],["type","text",3,"ngModelChange","ngModel"],["prefix",""],[1,"actions","placement"]]},template:function(_,e){if(_&1&&(l(0,"app-status-bar"),i(1,"section")(2,"div",13)(3,"button",14),p(4,0),l(5,"spk-icon"),r(),a()(),i(6,"article")(7,"h1"),F(8,1),a(),i(9,"p"),F(10,2),a()(),i(11,"article")(12,"h2"),F(13,3),a(),i(14,"p"),F(15,4),a(),i(16,"div",15)(17,"button",16),u("click",function(){return e.repairDatabase()}),p(18,5),l(19,"spk-icon"),r(),a(),i(20,"button",16),u("click",function(){return e.deleteDatabase()}),p(21,6),l(22,"spk-icon"),r(),a(),i(23,"button",16),u("click",function(){return e.restoreDatabase()}),p(24,7),l(25,"spk-icon"),r(),a()()(),i(26,"article")(27,"h2"),F(28,8),a(),i(29,"spk-form-field")(30,"input",17),V("ngModelChange",function(T){return X(e.backupFilePath,T)||(e.backupFilePath=T),T}),a(),v(31,ie,2,0,"spk-icon",18)(32,ne,2,0,"spk-icon",18),a(),i(33,"div",19)(34,"button",16),u("click",function(){return e.resetDatabasePath()}),p(35,9),l(36,"spk-icon"),r(),a(),i(37,"button",16),u("click",function(){return e.saveDatabasePath()}),p(38,10),l(39,"spk-icon"),r(),a(),i(40,"button",16),u("click",function(){return e.saveAndRepairDatabasePath()}),p(41,11),l(42,"spk-icon"),r(),a(),i(43,"button",16),u("click",function(){return e.moveDatabasePath()}),p(44,12),l(45,"spk-icon"),r(),a()()()()),_&2){let n;s(8),L((n=e.activeBackup())==null||n.Backup==null?null:n.Backup.Name),U(8),s(9),P("loader",e.isRepairing()),A("disabled",!e.isValidatedPath()),s(3),P("loader",e.isDeleting()),A("disabled",!e.isValidatedPath()),s(3),P("loader",e.isRestoring()),A("disabled",e.pathHasChanged()),s(6),G(e.isValidatedPath()?"success":"error"),s(),w("ngModel",e.backupFilePath),s(),K(e.isValidatedPath()?31:32),s(3),A("disabled",!e.pathHasChanged()),s(3),A("disabled",!e.pathHasChanged()),s(3),A("disabled",!e.pathHasChanged()),s(3),A("disabled",!e.pathHasChanged())}},dependencies:[ee,Y,Z,x,ae,W,j,H,q],styles:["[_nghost-%COMP%]{display:block}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;padding:2rem}article[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}h1[_ngcontent-%COMP%]{font:var(--title-20)}h2[_ngcontent-%COMP%]{font:var(--title-30)}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}"],changeDetection:0})};export{m as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as Q}from"./chunk-LDJVMU7P.js";import{a as Ge}from"./chunk-LJDOQTEF.js";import{a as oe}from"./chunk-XR4SRVOQ.js";import{a as J}from"./chunk-WZRSQ7XL.js";import{a as te}from"./chunk-3AIKVVWP.js";import{b as De,c as y,e as L,f as $,h as Ae,i as b,k as ve,n as D,q as A,r as v,s as we,t as w}from"./chunk-5ENRUF35.js";import{b as R,d as N}from"./chunk-5LKXKKAK.js";import{A as be,a as I,e as ke,g as k,l as Me,p as ye,q as Le,t as $e}from"./chunk-AL5KGNEF.js";import{h as M}from"./chunk-FRSQ5NDX.js";import{pa as H}from"./chunk-M3WT5B3C.js";import{B as Fe,Bc as Ie,Db as r,E as ee,Eb as l,F as T,Fb as c,Gb as K,Hb as U,J as me,Jb as B,N as Se,O as X,Pb as u,Qb as F,Qc as q,Rb as E,Sb as Te,T as de,Tb as Ee,Ua as m,Vb as O,Wb as x,Z as p,ea as f,fa as C,gb as h,i as _e,jc as j,lb as z,mc as Oe,o as ce,oc as fe,pc as Ce,qc as Re,ub as S,uc as Ne,va as _,vc as Pe,wb as ge,x as Z,y as ue,zb as Y,zc as he}from"./chunk-AHUC7M75.js";var Be=new v,We=()=>Be.group({passphrase:Be.control("")}),ie=class a{#t=p(M);#e=p(P);#o=p(N);#n=p(R);encryptionForm=this.#e.encryptionForm;creatingTemporaryBackup=_(!1);next(){let i=this.#e.destinationTargetUrl();if(!i)throw new Error("No target URL");this.creatingTemporaryBackup.set(!0);let e=this.encryptionForm.value?.passphrase??null,t=[{Name:"--no-encryption",Value:"true"}];e&&(t=[{Name:"--passphrase",Value:e}]),this.#t.postApiV1Backups({requestBody:{Backup:{TargetURL:i,Settings:t}},temporary:!0}).pipe(T(()=>this.creatingTemporaryBackup.set(!1))).subscribe({next:o=>{let n=o.ID;this.#o.navigate([`/restore-draft/${n}`])},error:o=>{console.error(o)}})}back(){this.#e.isFileRestore()?this.#o.navigate(["encryption"],{relativeTo:this.#n.parent}):this.#e.exit()}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=h({type:a,selectors:[["app-restore-encryption"]],decls:12,vars:1,consts:()=>{let i;i=$localize`Enter backup passphrase if defined.`;let e;e=$localize`Password`;let t;t=$localize`${"\uFFFD#8\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#8\uFFFD"}:CLOSE_TAG_SPK_ICON: Back `;let o;return o=$localize`${"\uFFFD#11\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#11\uFFFD"}:CLOSE_TAG_SPK_ICON: Continue `,[e,t,o,[3,"submit","formGroup"],["for","password"],["type","password","id","password","placeholder",i,"formControlName","passphrase"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"]]},template:function(e,t){e&1&&(r(0,"form",3),O("submit",function(){return t.next()}),r(1,"spk-form-field")(2,"label",4),E(3,0),l(),c(4,"input",5),l(),r(5,"div",6)(6,"button",7),O("click",function(){return t.back()}),u(7,1),c(8,"spk-icon"),F(),l(),r(9,"button",8),u(10,2),c(11,"spk-icon"),F(),l()()()),e&2&&S("formGroup",t.encryptionForm)},dependencies:[w,b,y,L,$,D,A,Me,I,k],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};var Ye=()=>({standalone:!0});function Ke(a,i){a&1&&c(0,"spk-progress-bar",7)}function Ue(a,i){if(a&1&&(r(0,"div",14),j(1),he(2,"date"),l()),a&2){let e=i.$implicit;m(),Oe("",e.Version,": ",Ie(2,2,e.Time,"medium"),"")}}function je(a,i){a&1&&c(0,"spk-progress-bar",7)}function qe(a,i){if(a&1&&(r(0,"app-file-tree",13)(1,"label",15),E(2,4),l(),c(3,"input",16),l()),a&2){let e=x(2);S("rootPaths",e.rootPaths())("backupSettings",e.backupSettings())("multiSelect",!0)("showFiles",!0)}}function He(a,i){if(a&1){let e=B();r(0,"spk-select",11),O("cleared",function(){f(e);let o=x();return C(o.abortLoading())}),r(1,"input",12),Re("ngModelChange",function(o){f(e);let n=x();return Ce(n.selectOption,o)||(n.selectOption=o),C(o)}),l(),z(2,Ue,3,5,"ng-template"),l(),z(3,je,1,0,"spk-progress-bar",7)(4,qe,4,4,"app-file-tree",13)}if(a&2){let e=x();S("options",e.versionOptions())("isClearable",!1),m(),fe("ngModel",e.selectOption),S("ngModelOptions",Pe(6,Ye)),m(2),Y(e.isDraft()||e.isRepairing()||e.versionOptionsLoading()||e.loadingRootPath()?3:-1),m(),Y(e.showFileTree()?4:-1)}}var se=new v,Xe=()=>se.group({filesToRestore:se.control(""),passphrase:se.control(null)}),re=class a{#t=p(M);#e=p(P);#o=p(J);#n=p(N);#i=p(R);#s=p(H);#r=null;#a=null;selectFilesForm=this.#e.selectFilesForm;selectFilesFormSignal=this.#e.selectFilesFormSignal;selectOption=this.#e.selectOption;backupId=this.#e.backupId;versionOptionsLoading=this.#e.versionOptionsLoading;versionOptions=this.#e.versionOptions;isDraft=this.#e.isDraft;isFileRestore=this.#e.isFileRestore;showFileTree=_(!1);backupSettings=_(null);rootPaths=_([]);loadingRootPath=_(!1);isRepairing=_(!1);loadingEffect=q(()=>{if(this.versionOptionsLoading())return;let e=this.versionOptions();if(e&&e?.length>0){let t=e[0].Version;this.selectOption.set(t.toString())}});backupSettingsEffect=q(()=>{let i=this.backupId(),e=this.isRepairing(),t=this.selectOption();if(!t||!i)return;let n=this.versionOptions()?.find(d=>d.Version===parseInt(t))?.Time??null;if(!n||e)return;let s={id:i+"",time:n};this.backupSettings.set(s),this.getRootPath(s)});repairEffect=q(()=>{let i=this.selectOption(),e=this.versionOptions();if(i){let t=e.find(s=>s.Version===parseInt(i));if(t===void 0)return;let o=this.backupId(),n=`${o}+${t.Time}`;if(this.#a===n)return;this.#a=n,this.isRepairing.set(!0),this.#t.postApiV1BackupByIdRepairupdate({id:o,requestBody:{only_paths:!0,time:t.Time}}).pipe(X(this.abortLoading$),T(()=>{this.#a=null})).subscribe(s=>{let d=s.ID;var G=window.setInterval(()=>{this.#t.getApiV1TaskByTaskid({taskid:d}).subscribe(W=>{W.Status==="Completed"&&(clearInterval(G),this.isRepairing.set(!1))})},1e3)})}});getRootPath(i){let e={id:i.id+"",time:i.time,prefixOnly:!0,folderContents:!1},t=i.id+"";this.isRepairing()||this.#r===t||(this.#r=t,this.loadingRootPath.set(!0),this.showFileTree.set(!1),this.#o.hasV2ListOperations()?this.#t.postApiV2BackupListFolder({requestBody:{BackupId:i.id,Time:i.time,Paths:null,PageSize:0,Page:0}}).pipe(X(this.abortLoading$),T(()=>{this.showFileTree.set(!0),this.loadingRootPath.set(!1),this.#r=null})).subscribe({next:o=>{let n=(o.Data??[]).map(s=>s.Path??"");n.length>0?this.rootPaths.set(n):this.rootPaths.set(["/"])}}):this.#t.getApiV1BackupByIdFiles(e).pipe(X(this.abortLoading$),T(()=>{this.showFileTree.set(!0),this.loadingRootPath.set(!1)})).subscribe({next:o=>{let n=o.Files.map(s=>s.Path??"");n.length>0?this.rootPaths.set(n):this.rootPaths.set(["/"])}}))}abortLoading$=new _e;abortLoading(){this.showFileTree.set(!1),this.loadingRootPath.set(!1),this.abortLoading$.next(!0)}displayFn(){let i=this.versionOptions();return e=>{if(!e)return"";let t=i?.find(o=>typeof o.Version=="number"&&o.Version.toString()===e);return t?`${t.Version}: ${this.#s.transform(t.Time,"medium")}`:""}}next(){this.#n.navigate(["options"],{relativeTo:this.#i.parent})}back(){this.#e.isFileRestore()?this.#n.navigate(["encryption"],{relativeTo:this.#i.parent}):this.#e.exit()}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=h({type:a,selectors:[["app-select-files"]],features:[Ne([H])],decls:13,vars:3,consts:()=>{let i;i=$localize`Select files`;let e;e=$localize`${"\uFFFD#9\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SPK_ICON: ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let t;t=$localize`${"\uFFFD#12\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SPK_ICON: Continue `;let o;o=$localize`Select an option...`;let n;return n=$localize`Path`,[["formRef",""],i,e,t,n,[3,"submit","formGroup"],[1,"title-30"],[1,"indeterminate","primary"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"],["value","Version",3,"cleared","options","isClearable"],["type","text","placeholder",o,3,"ngModelChange","ngModel","ngModelOptions"],[3,"rootPaths","backupSettings","multiSelect","showFiles"],[1,"custom-option"],["for","path"],["type","text","id","path","formControlName","filesToRestore"]]},template:function(e,t){if(e&1){let o=B();r(0,"form",5,0),O("submit",function(){return f(o),C(t.next())}),r(2,"h3",6),E(3,1),l(),z(4,Ke,1,0,"spk-progress-bar",7)(5,He,5,7),r(6,"div",8)(7,"button",9),O("click",function(){return f(o),C(t.back())}),u(8,2),c(9,"spk-icon"),F(),l(),r(10,"button",10),u(11,3),c(12,"spk-icon"),F(),l()()()}e&2&&(S("formGroup",t.selectFilesForm),m(4),Y(t.versionOptionsLoading()?4:5),m(5),Te(t.isFileRestore()?"Back":"Exit"),Ee(8))},dependencies:[we,b,y,L,$,Ae,w,D,A,H,Q,k,I,$e,ye],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};var P=class a{#t=p(N);#e=p(R);#o=p(J);#n=p(ke);#i=p(M);backupId=_(null);backup=_(null);destinationTargetUrl=_(null);selectFilesForm=Xe();optionsForm=ze();encryptionForm=We();optionsFormSignal=oe(this.optionsForm.valueChanges);selectFilesFormSignal=oe(this.selectFilesForm.valueChanges);selectOption=_(null);versionOptionsLoading=_(!1);versionOptions=_([]);isSubmitting=_(!1);isDraft=_(!1);isFileRestore=_(!1);isFullWidthPage=_(!1);init(i,e=!1,t=!1){this.backupId.set(i),this.isFileRestore.set(e),this.isDraft.set(t),e&&this.#t.navigate(["/restore-from-files/destination"]),e||this.getBackup(!0)}updateTargetUrl(i){this.destinationTargetUrl.set(i)}submit(){this.isSubmitting.set(!0);let i=this.backupId(),e=this.optionsForm.value,t=this.selectFilesForm.value,o=this.selectOption(),n=this.versionOptions()?.find(s=>s.Version===(o&&parseInt(o)));this.#i.postApiV1BackupByIdRestore({id:i??"",requestBody:{paths:t.filesToRestore?.split("\0").map(s=>`${s}*`)??[],passphrase:t.passphrase??null,time:n?.Time,restore_path:e.restoreFromPath,overwrite:e.handleExisting==="overwrite",permissions:e.permissions,skip_metadata:!0}}).pipe(T(()=>this.isSubmitting.set(!1))).subscribe({next:()=>{this.#t.navigate(["./progress"],{relativeTo:this.#e})},error:s=>{console.error("restore error",s)}})}exit(){this.#n.open(te,{data:{title:$localize`Confirm exit?`,message:$localize`Are you sure you want to exit?`,confirmText:$localize`Yes`,cancelText:$localize`Cancel`},closed:i=>{i&&(this.#s(),this.#t.navigate(["/"]))}})}getVersionOptions(){this.versionOptions()}loadFilesetsWithRetryv2(i,e=2){return this.#i.postApiV2BackupListFilesets({requestBody:{BackupId:i}}).pipe(Fe(t=>{let o=t?.error?.body?.StatusCode==="EncryptedStorageNoPassphrase",n=t?.error?.body?.StatusCode==="FolderMissing",s=t?.error?.body?.StatusCode==="EmptyRemoteFolder";return o||n||s||e===0?ce(()=>t):ue(1e3).pipe(Se(()=>this.loadFilesetsWithRetryv2(i,e-1)))}))}getBackup(i=!1){let e=this.backupId();this.versionOptionsLoading.set(!0),this.#o.hasV2ListOperations()?Z([this.#i.getApiV1BackupById({id:e}),this.loadFilesetsWithRetryv2(e)]).pipe(ee(1),T(()=>this.versionOptionsLoading.set(!1))).subscribe({next:([t,o])=>{if(o.Error)throw new Error(o.Error);this.versionOptions.set((o.Data??[]).map(n=>({Version:n.Version??-1,IsFullBackup:n.IsFullBackup??void 0,Time:n.Time??"<missing>",FileCount:n.FileCount??void 0,FileSizes:n.FileSizes??void 0}))),this.backup.set(t)},error:t=>{let o=t?.error?.body?.StatusCode==="EncryptedStorageNoPassphrase",n=t?.error?.body?.StatusCode==="FolderMissing",s=t?.error?.body?.StatusCode==="EmptyRemoteFolder",d=$localize`An error occurred while loading the backup filesets: ${t.message}`;o&&(d=$localize`The remote storage is encrypted. Please enter the passphrase to access the backup.`),n&&(d=$localize`The backup storage folder was not found.`),s&&(d=$localize`The backup storage folder does not contain any filesets.`),this.#n.open(te,{data:{title:$localize`Failed to load backup filesets`,message:d,confirmText:$localize`OK`,cancelText:void 0},closed:G=>{this.#t.navigate([o?"/restore-from-files/encryption":"/restore-from-files/destination"])}})}}):Z([this.#i.getApiV1BackupById({id:e}),this.#i.getApiV1BackupByIdFilesets({id:e}).pipe(me(3))]).pipe(ee(1),T(()=>this.versionOptionsLoading.set(!1))).subscribe({next:([t,o])=>{this.versionOptions.set(o.map(n=>({Version:n.Version??-1,IsFullBackup:(n.IsFullBackup??1)==1,Time:n.Time??"<missing>",FileCount:n.FileCount??void 0,FileSizes:n.FileSizes??void 0}))),this.backup.set(t)}})}#s(){this.selectFilesForm.reset(),this.optionsForm.reset()}static \u0275fac=function(e){return new(e||a)};static \u0275prov=de({token:a,factory:a.\u0275fac,providedIn:"root"})};var V=new v,ze=()=>V.group({restoreFrom:V.control("orignal"),restoreFromPath:V.control(""),handleExisting:V.control("overwrite"),permissions:V.control(!1)}),ae=class a{#t=p(P);#e=p(N);#o=p(R);optionsForm=this.#t.optionsForm;optionsFormSignal=this.#t.optionsFormSignal;isSubmitting=this.#t.isSubmitting;goBack(){this.#e.navigate(["select-files"],{relativeTo:this.#o.parent})}submit(){this.#t.submit()}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=h({type:a,selectors:[["app-advanced-options-settings"]],decls:39,vars:6,consts:()=>{let i;i=$localize`Restore options`;let e;e=$localize`Where do you want to restore files to?`;let t;t=$localize` Original location ${"\uFFFD#9\uFFFD\uFFFD/#9\uFFFD"}:TAG_INPUT:`;let o;o=$localize` Pick location ${"\uFFFD#12\uFFFD\uFFFD/#12\uFFFD"}:TAG_INPUT:`;let n;n=$localize`How do you want to handle existing files?`;let s;s=$localize` Overwrite ${"\uFFFD#22\uFFFD\uFFFD/#22\uFFFD"}:TAG_INPUT:`;let d;d=$localize` Save different versions with timestamp in file name ${"\uFFFD#25\uFFFD\uFFFD/#25\uFFFD"}:TAG_INPUT:`;let G;G=$localize`Permissions`;let W;W=$localize` Restore read/write permissions ${"\uFFFD#31\uFFFD\uFFFD/#31\uFFFD"}:TAG_INPUT:`;let le;le=$localize`${"\uFFFD#35\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#35\uFFFD"}:CLOSE_TAG_SPK_ICON: Go back `;let pe;return pe=$localize`${"\uFFFD#38\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#38\uFFFD"}:CLOSE_TAG_SPK_ICON: Submit `,[["formRef",""],i,e,t,o,n,s,d,G,W,le,pe,[3,"submit","formGroup"],[1,"title-30"],[3,"disallowToggle"],["title",""],[1,"raised","primary"],["type","radio","name","restoreFrom","value","orignal","formControlName","restoreFrom"],["type","radio","name","restoreFrom","value","pickLocation","formControlName","restoreFrom"],[3,"disabled"],["for","path"],["type","text","id","path","formControlName","restoreFromPath"],["type","radio","name","handleExisting","value","overwrite","formControlName","handleExisting"],["type","radio","name","handleExisting","value","saveTimestamp","formControlName","handleExisting"],[1,"primary","raised"],["type","checkbox","formControlName","permissions"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"]]},template:function(e,t){if(e&1){let o=B();r(0,"form",12,0),O("submit",function(){return f(o),C(t.submit())}),r(2,"h3",13),E(3,1),l(),r(4,"app-toggle-card",14),K(5,15),E(6,2),U(),r(7,"spk-radio",16),u(8,3),c(9,"input",17),F(),l(),r(10,"spk-radio",16),u(11,4),c(12,"input",18),F(),l(),r(13,"app-file-tree",19)(14,"label",20),j(15,"Path"),l(),c(16,"input",21),l()(),r(17,"app-toggle-card",14),K(18,15),E(19,5),U(),r(20,"spk-radio",16),u(21,6),c(22,"input",22),F(),l(),r(23,"spk-radio",16),u(24,7),c(25,"input",23),F(),l()(),r(26,"app-toggle-card"),K(27,15),E(28,8),U(),r(29,"spk-toggle",24),u(30,9),c(31,"input",25),F(),l()(),r(32,"div",26)(33,"button",27),O("click",function(){return f(o),C(t.goBack())}),u(34,10),c(35,"spk-icon"),F(),l(),r(36,"button",28),u(37,11),c(38,"spk-icon"),F(),l()()()}if(e&2){let o;S("formGroup",t.optionsForm),m(4),S("disallowToggle",!0),m(9),S("disabled",((o=t.optionsFormSignal())==null?null:o.restoreFrom)!=="pickLocation"),m(4),S("disallowToggle",!0),m(19),ge("loader",t.isSubmitting())}},dependencies:[w,b,y,De,ve,L,$,D,A,Ge,Q,be,Le,k,I],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};export{ze as a,ae as b,We as c,ie as d,Xe as e,re as f,P as g};
|
|
1
|
+
import{a as Q}from"./chunk-FP6LM56A.js";import{a as Ge}from"./chunk-M5RL4LRX.js";import{a as oe}from"./chunk-UEYPJIJG.js";import{a as J}from"./chunk-2CXHZS6X.js";import{a as te}from"./chunk-LUKUBN2Z.js";import{b as De,c as y,e as L,f as $,h as Ae,i as b,k as ve,n as D,q as A,r as v,s as we,t as w}from"./chunk-ABANCAM5.js";import{b as R,d as N}from"./chunk-WRKRV6RQ.js";import{A as be,a as I,e as ke,g as k,l as Me,p as ye,q as Le,t as $e}from"./chunk-ESAGJOZZ.js";import{h as M}from"./chunk-N5FH4YAX.js";import{pa as H}from"./chunk-EBXJGPRA.js";import{B as Fe,Bc as Ie,Db as r,E as ee,Eb as l,F as T,Fb as c,Gb as K,Hb as U,J as me,Jb as B,N as Se,O as X,Pb as u,Qb as F,Rb as E,Rc as q,Sb as Te,T as de,Tb as Ee,Ua as m,Vb as O,Wb as x,Z as p,ea as f,fa as C,gb as h,i as _e,jc as j,lb as z,mc as Oe,o as ce,oc as fe,pc as Ce,qc as Re,ub as S,uc as Ne,va as _,vc as Pe,wb as ge,x as Z,y as ue,zb as Y,zc as he}from"./chunk-4KE2I7OA.js";var Be=new v,We=()=>Be.group({passphrase:Be.control("")}),ie=class a{#t=p(M);#e=p(P);#o=p(N);#n=p(R);encryptionForm=this.#e.encryptionForm;creatingTemporaryBackup=_(!1);next(){let i=this.#e.destinationTargetUrl();if(!i)throw new Error("No target URL");this.creatingTemporaryBackup.set(!0);let e=this.encryptionForm.value?.passphrase??null,t=[{Name:"--no-encryption",Value:"true"}];e&&(t=[{Name:"--passphrase",Value:e}]),this.#t.postApiV1Backups({requestBody:{Backup:{TargetURL:i,Settings:t}},temporary:!0}).pipe(T(()=>this.creatingTemporaryBackup.set(!1))).subscribe({next:o=>{let n=o.ID;this.#o.navigate([`/restore-draft/${n}`])},error:o=>{console.error(o)}})}back(){this.#e.isFileRestore()?this.#o.navigate(["encryption"],{relativeTo:this.#n.parent}):this.#e.exit()}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=h({type:a,selectors:[["app-restore-encryption"]],decls:12,vars:1,consts:()=>{let i;i=$localize`Enter backup passphrase if defined.`;let e;e=$localize`Password`;let t;t=$localize`${"\uFFFD#8\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#8\uFFFD"}:CLOSE_TAG_SPK_ICON: Back `;let o;return o=$localize`${"\uFFFD#11\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#11\uFFFD"}:CLOSE_TAG_SPK_ICON: Continue `,[e,t,o,[3,"submit","formGroup"],["for","password"],["type","password","id","password","placeholder",i,"formControlName","passphrase"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"]]},template:function(e,t){e&1&&(r(0,"form",3),O("submit",function(){return t.next()}),r(1,"spk-form-field")(2,"label",4),E(3,0),l(),c(4,"input",5),l(),r(5,"div",6)(6,"button",7),O("click",function(){return t.back()}),u(7,1),c(8,"spk-icon"),F(),l(),r(9,"button",8),u(10,2),c(11,"spk-icon"),F(),l()()()),e&2&&S("formGroup",t.encryptionForm)},dependencies:[w,b,y,L,$,D,A,Me,I,k],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};var Ye=()=>({standalone:!0});function Ke(a,i){a&1&&c(0,"spk-progress-bar",7)}function Ue(a,i){if(a&1&&(r(0,"div",14),j(1),he(2,"date"),l()),a&2){let e=i.$implicit;m(),Oe("",e.Version,": ",Ie(2,2,e.Time,"medium"),"")}}function je(a,i){a&1&&c(0,"spk-progress-bar",7)}function qe(a,i){if(a&1&&(r(0,"app-file-tree",13)(1,"label",15),E(2,4),l(),c(3,"input",16),l()),a&2){let e=x(2);S("rootPaths",e.rootPaths())("backupSettings",e.backupSettings())("multiSelect",!0)("showFiles",!0)}}function He(a,i){if(a&1){let e=B();r(0,"spk-select",11),O("cleared",function(){f(e);let o=x();return C(o.abortLoading())}),r(1,"input",12),Re("ngModelChange",function(o){f(e);let n=x();return Ce(n.selectOption,o)||(n.selectOption=o),C(o)}),l(),z(2,Ue,3,5,"ng-template"),l(),z(3,je,1,0,"spk-progress-bar",7)(4,qe,4,4,"app-file-tree",13)}if(a&2){let e=x();S("options",e.versionOptions())("isClearable",!1),m(),fe("ngModel",e.selectOption),S("ngModelOptions",Pe(6,Ye)),m(2),Y(e.isDraft()||e.isRepairing()||e.versionOptionsLoading()||e.loadingRootPath()?3:-1),m(),Y(e.showFileTree()?4:-1)}}var se=new v,Xe=()=>se.group({filesToRestore:se.control(""),passphrase:se.control(null)}),re=class a{#t=p(M);#e=p(P);#o=p(J);#n=p(N);#i=p(R);#s=p(H);#r=null;#a=null;selectFilesForm=this.#e.selectFilesForm;selectFilesFormSignal=this.#e.selectFilesFormSignal;selectOption=this.#e.selectOption;backupId=this.#e.backupId;versionOptionsLoading=this.#e.versionOptionsLoading;versionOptions=this.#e.versionOptions;isDraft=this.#e.isDraft;isFileRestore=this.#e.isFileRestore;showFileTree=_(!1);backupSettings=_(null);rootPaths=_([]);loadingRootPath=_(!1);isRepairing=_(!1);loadingEffect=q(()=>{if(this.versionOptionsLoading())return;let e=this.versionOptions();if(e&&e?.length>0){let t=e[0].Version;this.selectOption.set(t.toString())}});backupSettingsEffect=q(()=>{let i=this.backupId(),e=this.isRepairing(),t=this.selectOption();if(!t||!i)return;let n=this.versionOptions()?.find(d=>d.Version===parseInt(t))?.Time??null;if(!n||e)return;let s={id:i+"",time:n};this.backupSettings.set(s),this.getRootPath(s)});repairEffect=q(()=>{let i=this.selectOption(),e=this.versionOptions();if(i){let t=e.find(s=>s.Version===parseInt(i));if(t===void 0)return;let o=this.backupId(),n=`${o}+${t.Time}`;if(this.#a===n)return;this.#a=n,this.isRepairing.set(!0),this.#t.postApiV1BackupByIdRepairupdate({id:o,requestBody:{only_paths:!0,time:t.Time}}).pipe(X(this.abortLoading$),T(()=>{this.#a=null})).subscribe(s=>{let d=s.ID;var G=window.setInterval(()=>{this.#t.getApiV1TaskByTaskid({taskid:d}).subscribe(W=>{W.Status==="Completed"&&(clearInterval(G),this.isRepairing.set(!1))})},1e3)})}});getRootPath(i){let e={id:i.id+"",time:i.time,prefixOnly:!0,folderContents:!1},t=i.id+"";this.isRepairing()||this.#r===t||(this.#r=t,this.loadingRootPath.set(!0),this.showFileTree.set(!1),this.#o.hasV2ListOperations()?this.#t.postApiV2BackupListFolder({requestBody:{BackupId:i.id,Time:i.time,Paths:null,PageSize:0,Page:0}}).pipe(X(this.abortLoading$),T(()=>{this.showFileTree.set(!0),this.loadingRootPath.set(!1),this.#r=null})).subscribe({next:o=>{let n=(o.Data??[]).map(s=>s.Path??"");n.length>0?this.rootPaths.set(n):this.rootPaths.set(["/"])}}):this.#t.getApiV1BackupByIdFiles(e).pipe(X(this.abortLoading$),T(()=>{this.showFileTree.set(!0),this.loadingRootPath.set(!1)})).subscribe({next:o=>{let n=o.Files.map(s=>s.Path??"");n.length>0?this.rootPaths.set(n):this.rootPaths.set(["/"])}}))}abortLoading$=new _e;abortLoading(){this.showFileTree.set(!1),this.loadingRootPath.set(!1),this.abortLoading$.next(!0)}displayFn(){let i=this.versionOptions();return e=>{if(!e)return"";let t=i?.find(o=>typeof o.Version=="number"&&o.Version.toString()===e);return t?`${t.Version}: ${this.#s.transform(t.Time,"medium")}`:""}}next(){this.#n.navigate(["options"],{relativeTo:this.#i.parent})}back(){this.#e.isFileRestore()?this.#n.navigate(["encryption"],{relativeTo:this.#i.parent}):this.#e.exit()}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=h({type:a,selectors:[["app-select-files"]],features:[Ne([H])],decls:13,vars:3,consts:()=>{let i;i=$localize`Select files`;let e;e=$localize`${"\uFFFD#9\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SPK_ICON: ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let t;t=$localize`${"\uFFFD#12\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SPK_ICON: Continue `;let o;o=$localize`Select an option...`;let n;return n=$localize`Path`,[["formRef",""],i,e,t,n,[3,"submit","formGroup"],[1,"title-30"],[1,"indeterminate","primary"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"],["value","Version",3,"cleared","options","isClearable"],["type","text","placeholder",o,3,"ngModelChange","ngModel","ngModelOptions"],[3,"rootPaths","backupSettings","multiSelect","showFiles"],[1,"custom-option"],["for","path"],["type","text","id","path","formControlName","filesToRestore"]]},template:function(e,t){if(e&1){let o=B();r(0,"form",5,0),O("submit",function(){return f(o),C(t.next())}),r(2,"h3",6),E(3,1),l(),z(4,Ke,1,0,"spk-progress-bar",7)(5,He,5,7),r(6,"div",8)(7,"button",9),O("click",function(){return f(o),C(t.back())}),u(8,2),c(9,"spk-icon"),F(),l(),r(10,"button",10),u(11,3),c(12,"spk-icon"),F(),l()()()}e&2&&(S("formGroup",t.selectFilesForm),m(4),Y(t.versionOptionsLoading()?4:5),m(5),Te(t.isFileRestore()?"Back":"Exit"),Ee(8))},dependencies:[we,b,y,L,$,Ae,w,D,A,H,Q,k,I,$e,ye],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};var P=class a{#t=p(N);#e=p(R);#o=p(J);#n=p(ke);#i=p(M);backupId=_(null);backup=_(null);destinationTargetUrl=_(null);selectFilesForm=Xe();optionsForm=ze();encryptionForm=We();optionsFormSignal=oe(this.optionsForm.valueChanges);selectFilesFormSignal=oe(this.selectFilesForm.valueChanges);selectOption=_(null);versionOptionsLoading=_(!1);versionOptions=_([]);isSubmitting=_(!1);isDraft=_(!1);isFileRestore=_(!1);isFullWidthPage=_(!1);init(i,e=!1,t=!1){this.backupId.set(i),this.isFileRestore.set(e),this.isDraft.set(t),e&&this.#t.navigate(["/restore-from-files/destination"]),e||this.getBackup(!0)}updateTargetUrl(i){this.destinationTargetUrl.set(i)}submit(){this.isSubmitting.set(!0);let i=this.backupId(),e=this.optionsForm.value,t=this.selectFilesForm.value,o=this.selectOption(),n=this.versionOptions()?.find(s=>s.Version===(o&&parseInt(o)));this.#i.postApiV1BackupByIdRestore({id:i??"",requestBody:{paths:t.filesToRestore?.split("\0").map(s=>`${s}*`)??[],passphrase:t.passphrase??null,time:n?.Time,restore_path:e.restoreFromPath,overwrite:e.handleExisting==="overwrite",permissions:e.permissions,skip_metadata:!0}}).pipe(T(()=>this.isSubmitting.set(!1))).subscribe({next:()=>{this.#t.navigate(["./progress"],{relativeTo:this.#e})},error:s=>{console.error("restore error",s)}})}exit(){this.#n.open(te,{data:{title:$localize`Confirm exit?`,message:$localize`Are you sure you want to exit?`,confirmText:$localize`Yes`,cancelText:$localize`Cancel`},closed:i=>{i&&(this.#s(),this.#t.navigate(["/"]))}})}getVersionOptions(){this.versionOptions()}loadFilesetsWithRetryv2(i,e=2){return this.#i.postApiV2BackupListFilesets({requestBody:{BackupId:i}}).pipe(Fe(t=>{let o=t?.error?.body?.StatusCode==="EncryptedStorageNoPassphrase",n=t?.error?.body?.StatusCode==="FolderMissing",s=t?.error?.body?.StatusCode==="EmptyRemoteFolder";return o||n||s||e===0?ce(()=>t):ue(1e3).pipe(Se(()=>this.loadFilesetsWithRetryv2(i,e-1)))}))}getBackup(i=!1){let e=this.backupId();this.versionOptionsLoading.set(!0),this.#o.hasV2ListOperations()?Z([this.#i.getApiV1BackupById({id:e}),this.loadFilesetsWithRetryv2(e)]).pipe(ee(1),T(()=>this.versionOptionsLoading.set(!1))).subscribe({next:([t,o])=>{if(o.Error)throw new Error(o.Error);this.versionOptions.set((o.Data??[]).map(n=>({Version:n.Version??-1,IsFullBackup:n.IsFullBackup??void 0,Time:n.Time??"<missing>",FileCount:n.FileCount??void 0,FileSizes:n.FileSizes??void 0}))),this.backup.set(t)},error:t=>{let o=t?.error?.body?.StatusCode==="EncryptedStorageNoPassphrase",n=t?.error?.body?.StatusCode==="FolderMissing",s=t?.error?.body?.StatusCode==="EmptyRemoteFolder",d=$localize`An error occurred while loading the backup filesets: ${t.message}`;o&&(d=$localize`The remote storage is encrypted. Please enter the passphrase to access the backup.`),n&&(d=$localize`The backup storage folder was not found.`),s&&(d=$localize`The backup storage folder does not contain any filesets.`),this.#n.open(te,{data:{title:$localize`Failed to load backup filesets`,message:d,confirmText:$localize`OK`,cancelText:void 0},closed:G=>{this.#t.navigate([o?"/restore-from-files/encryption":"/restore-from-files/destination"])}})}}):Z([this.#i.getApiV1BackupById({id:e}),this.#i.getApiV1BackupByIdFilesets({id:e}).pipe(me(3))]).pipe(ee(1),T(()=>this.versionOptionsLoading.set(!1))).subscribe({next:([t,o])=>{this.versionOptions.set(o.map(n=>({Version:n.Version??-1,IsFullBackup:(n.IsFullBackup??1)==1,Time:n.Time??"<missing>",FileCount:n.FileCount??void 0,FileSizes:n.FileSizes??void 0}))),this.backup.set(t)}})}#s(){this.selectFilesForm.reset(),this.optionsForm.reset()}static \u0275fac=function(e){return new(e||a)};static \u0275prov=de({token:a,factory:a.\u0275fac,providedIn:"root"})};var V=new v,ze=()=>V.group({restoreFrom:V.control("orignal"),restoreFromPath:V.control(""),handleExisting:V.control("overwrite"),permissions:V.control(!1)}),ae=class a{#t=p(P);#e=p(N);#o=p(R);optionsForm=this.#t.optionsForm;optionsFormSignal=this.#t.optionsFormSignal;isSubmitting=this.#t.isSubmitting;goBack(){this.#e.navigate(["select-files"],{relativeTo:this.#o.parent})}submit(){this.#t.submit()}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=h({type:a,selectors:[["app-advanced-options-settings"]],decls:39,vars:6,consts:()=>{let i;i=$localize`Restore options`;let e;e=$localize`Where do you want to restore files to?`;let t;t=$localize` Original location ${"\uFFFD#9\uFFFD\uFFFD/#9\uFFFD"}:TAG_INPUT:`;let o;o=$localize` Pick location ${"\uFFFD#12\uFFFD\uFFFD/#12\uFFFD"}:TAG_INPUT:`;let n;n=$localize`How do you want to handle existing files?`;let s;s=$localize` Overwrite ${"\uFFFD#22\uFFFD\uFFFD/#22\uFFFD"}:TAG_INPUT:`;let d;d=$localize` Save different versions with timestamp in file name ${"\uFFFD#25\uFFFD\uFFFD/#25\uFFFD"}:TAG_INPUT:`;let G;G=$localize`Permissions`;let W;W=$localize` Restore read/write permissions ${"\uFFFD#31\uFFFD\uFFFD/#31\uFFFD"}:TAG_INPUT:`;let le;le=$localize`${"\uFFFD#35\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#35\uFFFD"}:CLOSE_TAG_SPK_ICON: Go back `;let pe;return pe=$localize`${"\uFFFD#38\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#38\uFFFD"}:CLOSE_TAG_SPK_ICON: Submit `,[["formRef",""],i,e,t,o,n,s,d,G,W,le,pe,[3,"submit","formGroup"],[1,"title-30"],[3,"disallowToggle"],["title",""],[1,"raised","primary"],["type","radio","name","restoreFrom","value","orignal","formControlName","restoreFrom"],["type","radio","name","restoreFrom","value","pickLocation","formControlName","restoreFrom"],[3,"disabled"],["for","path"],["type","text","id","path","formControlName","restoreFromPath"],["type","radio","name","handleExisting","value","overwrite","formControlName","handleExisting"],["type","radio","name","handleExisting","value","saveTimestamp","formControlName","handleExisting"],[1,"primary","raised"],["type","checkbox","formControlName","permissions"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"]]},template:function(e,t){if(e&1){let o=B();r(0,"form",12,0),O("submit",function(){return f(o),C(t.submit())}),r(2,"h3",13),E(3,1),l(),r(4,"app-toggle-card",14),K(5,15),E(6,2),U(),r(7,"spk-radio",16),u(8,3),c(9,"input",17),F(),l(),r(10,"spk-radio",16),u(11,4),c(12,"input",18),F(),l(),r(13,"app-file-tree",19)(14,"label",20),j(15,"Path"),l(),c(16,"input",21),l()(),r(17,"app-toggle-card",14),K(18,15),E(19,5),U(),r(20,"spk-radio",16),u(21,6),c(22,"input",22),F(),l(),r(23,"spk-radio",16),u(24,7),c(25,"input",23),F(),l()(),r(26,"app-toggle-card"),K(27,15),E(28,8),U(),r(29,"spk-toggle",24),u(30,9),c(31,"input",25),F(),l()(),r(32,"div",26)(33,"button",27),O("click",function(){return f(o),C(t.goBack())}),u(34,10),c(35,"spk-icon"),F(),l(),r(36,"button",28),u(37,11),c(38,"spk-icon"),F(),l()()()}if(e&2){let o;S("formGroup",t.optionsForm),m(4),S("disallowToggle",!0),m(9),S("disabled",((o=t.optionsFormSignal())==null?null:o.restoreFrom)!=="pickLocation"),m(4),S("disallowToggle",!0),m(19),ge("loader",t.isSubmitting())}},dependencies:[w,b,y,De,ve,L,$,D,A,Ge,Q,be,Le,k,I],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};export{ze as a,ae as b,We as c,ie as d,Xe as e,re as f,P as g};
|