@duplicati/ngclient 0.0.141 → 0.0.142
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/backgrounds/base-bg.svg +1 -1
- package/assets/duplicati-logo.svg +1 -1
- package/assets/sh-bold.woff2 +0 -0
- package/assets/sh.woff2 +0 -0
- package/assets/ship.css +81 -0
- package/assets/spk.woff2 +0 -0
- package/chunk-2G6UXMJB.js +1 -0
- package/chunk-2RB5RKNM.js +1 -0
- package/chunk-3BODZQHK.js +1 -0
- package/chunk-3L3SGYRX.js +1 -0
- package/{chunk-7QJG4IIT.js → chunk-47WDRGVN.js} +1 -1
- package/chunk-4URGDROZ.js +1 -0
- package/chunk-4YL5DZVH.js +1 -0
- package/chunk-5DO6JZVF.js +1 -0
- package/chunk-5OIM6PRU.js +1 -0
- package/chunk-5SH42EY6.js +1 -0
- package/chunk-5SPGCYAQ.js +1 -0
- package/chunk-65QCOV7I.js +2 -0
- package/{chunk-B6OIHB5W.js → chunk-73RDJP55.js} +1 -1
- package/chunk-7765XHNC.js +8 -0
- package/{chunk-ELFZD53L.js → chunk-7AMBMWZP.js} +1 -1
- package/chunk-7WD3AN66.js +1 -0
- package/chunk-ACH476VA.js +1 -0
- package/chunk-ATYS35R4.js +1 -0
- package/{chunk-UZK7ABRM.js → chunk-B5FUQFEQ.js} +1 -1
- package/chunk-BMYQZKPC.js +2 -0
- package/chunk-BVEALUGN.js +1 -0
- package/chunk-C32RWSXV.js +1 -0
- package/chunk-CNUHBPET.js +2 -0
- package/{chunk-WXARH2SG.js → chunk-CWBEE627.js} +1 -1
- package/chunk-CZLLEVMJ.js +1 -0
- package/chunk-DUKSWBLV.js +1 -0
- package/chunk-E6UP7FUD.js +1 -0
- package/chunk-EDW3WHAP.js +1 -0
- package/chunk-ERIXY2FW.js +3 -0
- package/chunk-FPPZ4BUR.js +1 -0
- package/chunk-GFSWKDRL.js +1 -0
- package/chunk-GUH5TMOS.js +1 -0
- package/chunk-GXARFIQG.js +1 -0
- package/chunk-HBKQWKW7.js +1 -0
- package/{chunk-AM7RYTIO.js → chunk-IHNX6WZQ.js} +1 -1
- package/chunk-JA5QSJM3.js +1 -0
- package/{chunk-ULLALJQ2.js → chunk-JB75BUPF.js} +1 -1
- package/chunk-JF4IGUR6.js +1 -0
- package/{chunk-2W6BEUGU.js → chunk-L2EO4M4B.js} +1 -1
- package/chunk-LAUG2PZW.js +1 -0
- package/chunk-LIJJPCCP.js +1 -0
- package/{chunk-AH5TLYN4.js → chunk-LT2T7TXS.js} +1 -1
- package/{chunk-V5YSQG4X.js → chunk-LZUM5XKC.js} +1 -1
- package/chunk-O2RJYKE4.js +1 -0
- package/chunk-OAW2NFZX.js +1 -0
- package/chunk-OBJPWKDY.js +1 -0
- package/chunk-OICFVPYU.js +1 -0
- package/chunk-OWAZS6AA.js +1 -0
- package/chunk-P2DII6CV.js +1 -0
- package/{chunk-DBD6FOQL.js → chunk-PEWNHZLZ.js} +2 -2
- package/chunk-PHIECUWX.js +1 -0
- package/chunk-PJBVFTZK.js +1 -0
- package/chunk-PMZGBC4U.js +1 -0
- package/chunk-PWV3UKIW.js +1 -0
- package/{chunk-DG7SFNGT.js → chunk-QC2NBFUR.js} +1 -1
- package/chunk-QD2VHHZY.js +1 -0
- package/chunk-QDFCX6XE.js +4 -0
- package/chunk-QFU6VJXV.js +1 -0
- package/chunk-QGFC5ZUR.js +1 -0
- package/chunk-QIQH4ASK.js +2 -0
- package/chunk-QM6X5ZEC.js +2 -0
- package/chunk-R3OYJX7V.js +1 -0
- package/chunk-SWLG7DS7.js +1 -0
- package/chunk-TAPLSJ2K.js +1 -0
- package/chunk-UACX27D3.js +1 -0
- package/chunk-UBFQDZB5.js +1 -0
- package/chunk-UCZV35IF.js +1 -0
- package/{chunk-NSIELNIY.js → chunk-USU2EHJV.js} +1 -1
- package/chunk-UV3WAAEX.js +3 -0
- package/chunk-V7UTQSCX.js +1 -0
- package/chunk-VC6TE2B6.js +1 -0
- package/{chunk-B26UYXA3.js → chunk-VC72SWC4.js} +1 -1
- package/chunk-VMNRHHVY.js +1 -0
- package/chunk-WEAHBXR2.js +1 -0
- package/chunk-WJPLJKPQ.js +1 -0
- package/chunk-WRNQOX5R.js +1 -0
- package/{chunk-32366MQR.js → chunk-X5ISYEI2.js} +1 -1
- package/chunk-X6QMUQPK.js +1 -0
- package/chunk-YCTTQQ6B.js +1 -0
- package/chunk-YIV6PKM7.js +1 -0
- package/chunk-Z2U5JI53.js +1 -0
- package/chunk-ZGU7OKMF.js +1 -0
- package/chunk-ZTHT3VVI.js +1 -0
- package/index.html +4 -4
- package/main-TVE62AWE.js +1 -0
- package/package.json +1 -1
- package/styles-EZGVWHZF.css +1 -0
- package/chunk-23ODVSFI.js +0 -1
- package/chunk-2BX65XJQ.js +0 -1
- package/chunk-2D26BDYB.js +0 -1
- package/chunk-2G6TVFPZ.js +0 -1
- package/chunk-2ULYPLGO.js +0 -1
- package/chunk-3JKXOOME.js +0 -1
- package/chunk-3WCZIRMO.js +0 -1
- package/chunk-3ZVSHKLD.js +0 -1
- package/chunk-52KRFMSD.js +0 -1
- package/chunk-64ZU74CD.js +0 -1
- package/chunk-6DSLFJ4T.js +0 -1
- package/chunk-6JQM2X3B.js +0 -1
- package/chunk-AC7QC7PU.js +0 -1
- package/chunk-AFLQOHXV.js +0 -1
- package/chunk-BCHZRC5K.js +0 -1
- package/chunk-BTMXQPBB.js +0 -7
- package/chunk-C26ZMSTR.js +0 -1
- package/chunk-CCA5ZCEA.js +0 -1
- package/chunk-CDXBWYCI.js +0 -8
- package/chunk-CWLTHXVS.js +0 -1
- package/chunk-DNJOKPEL.js +0 -2
- package/chunk-E4GCCYDQ.js +0 -1
- package/chunk-EBXKOOS2.js +0 -1
- package/chunk-EJZXEK6Z.js +0 -1
- package/chunk-EKP3ML6M.js +0 -1
- package/chunk-EQAVG2TR.js +0 -1
- package/chunk-F3LCHCDX.js +0 -1
- package/chunk-FJ62TYXT.js +0 -1
- package/chunk-FTFVEVRT.js +0 -1
- package/chunk-H2PTENA3.js +0 -1
- package/chunk-HLYFP2CB.js +0 -1
- package/chunk-IBG5YOFG.js +0 -1
- package/chunk-IVBTBJGC.js +0 -1
- package/chunk-IZXB2EWT.js +0 -1
- package/chunk-J6BHRR34.js +0 -1
- package/chunk-JA3Y722G.js +0 -1
- package/chunk-JFOXV66M.js +0 -1
- package/chunk-JOUBVX7V.js +0 -1
- package/chunk-JPMOGXHN.js +0 -1
- package/chunk-KSQIUDEA.js +0 -1
- package/chunk-LDIZ5E5Z.js +0 -1
- package/chunk-MMPTX6PS.js +0 -1
- package/chunk-MQI6JU7H.js +0 -1
- package/chunk-N57J64DN.js +0 -3
- package/chunk-N7RSCHJF.js +0 -3
- package/chunk-NHAGSIVX.js +0 -1
- package/chunk-NS4PAVKI.js +0 -1
- package/chunk-NZ2KKCDC.js +0 -1
- package/chunk-Q6W2U6VI.js +0 -2
- package/chunk-QBJGIKPM.js +0 -1
- package/chunk-QRRKPBY6.js +0 -1
- package/chunk-QU24HTBS.js +0 -2
- package/chunk-QVEGV6V6.js +0 -1
- package/chunk-RCKA5DTC.js +0 -1
- package/chunk-UKPX2XRO.js +0 -1
- package/chunk-V77N2OUE.js +0 -1
- package/chunk-VLBSM6YW.js +0 -1
- package/chunk-WIDMAJIO.js +0 -1
- package/chunk-WPGKMLVU.js +0 -1
- package/chunk-WRWIBPXL.js +0 -2
- package/chunk-WZNH4JPF.js +0 -1
- package/chunk-WZRDKVOR.js +0 -1
- package/chunk-X7SFNRJF.js +0 -1
- package/chunk-XBJRRUMO.js +0 -2
- package/chunk-XIOHRQ3X.js +0 -1
- package/chunk-Y5IRBMLB.js +0 -1
- package/chunk-ZAFFTZSE.js +0 -1
- package/chunk-ZI2XNFAW.js +0 -1
- package/main-A5QFJ7CT.js +0 -1
- package/styles-IH5IS4WG.css +0 -1
- /package/{polyfills-COBLRUJG.js → polyfills-DNO7R5SL.js} +0 -0
- /package/{sparkle-ui-assets → ship-ui-assets}/fonts/InterTight-VariableFont_wght.woff2 +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"./chunk-B5FUQFEQ.js";import"./chunk-WJPLJKPQ.js";import"./chunk-FPPZ4BUR.js";import"./chunk-73RDJP55.js";import"./chunk-QDFCX6XE.js";import"./chunk-EUDKD2JW.js";export{a as RelativeTimePipe};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as ba,A as C,Aa as Ea,B as D,Ba as Fa,C as E,Ca as Ga,D as F,Da as Ha,E as G,Ea as Ia,F as H,Fa as Ja,G as I,Ga as Ka,H as J,Ha as La,I as K,Ia as Ma,J as L,Ja as Na,K as M,Ka as Oa,L as N,La as Pa,M as O,N as P,O as Q,P as R,Q as S,R as T,S as U,T as V,U as W,V as X,W as Y,X as Z,Y as _,Z as $,_ as aa,a as c,aa as ca,b as d,ba as da,c as e,ca as ea,d as f,da as fa,e as g,ea as ga,f as h,fa as ha,g as i,ga as ia,h as j,ha as ja,i as k,ia as ka,j as l,ja as la,k as m,ka as ma,l as n,la as na,m as o,ma as oa,n as p,na as pa,o as q,oa as qa,p as r,pa as ra,q as s,qa as sa,r as t,ra as ta,s as u,sa as ua,t as v,ta as va,u as w,ua as wa,v as x,va as za,w as y,wa as Aa,x as z,xa as Ba,y as A,ya as Ca,z as B,za as Da}from"./chunk-WJPLJKPQ.js";import{a as xa,b as ya}from"./chunk-FPPZ4BUR.js";import{Ba as b,ja as a}from"./chunk-QDFCX6XE.js";import"./chunk-EUDKD2JW.js";export{k as APP_BASE_HREF,ha as AsyncPipe,h as BrowserPlatformLocation,wa as CommonModule,ua as CurrencyPipe,ma as DATE_PIPE_DEFAULT_OPTIONS,la as DATE_PIPE_DEFAULT_TIMEZONE,a as DOCUMENT,na as DatePipe,sa as DecimalPipe,q as FormStyle,s as FormatWidth,n as HashLocationStrategy,oa as I18nPluralPipe,pa as I18nSelectPipe,b as IMAGE_CONFIG,Ia as IMAGE_LOADER,qa as JsonPipe,ra as KeyValuePipe,g as LOCATION_INITIALIZED,m as Location,j as LocationStrategy,ia as LowerCasePipe,W as NgClass,X as NgComponentOutlet,Z as NgFor,Z as NgForOf,Y as NgForOfContext,_ as NgIf,$ as NgIfContext,V as NgLocaleLocalization,U as NgLocalization,Pa as NgOptimizedImage,da as NgPlural,ea as NgPluralCase,fa as NgStyle,aa as NgSwitch,ba as NgSwitchCase,ca as NgSwitchDefault,ga as NgTemplateOutlet,o as NumberFormatStyle,t as NumberSymbol,Oa as PRECONNECT_CHECK_BLOCKLIST,l as PathLocationStrategy,ta as PercentPipe,f as PlatformLocation,p as Plural,va as SlicePipe,ja as TitleCasePipe,r as TranslationWidth,ka as UpperCasePipe,Fa as VERSION,Ga as ViewportScroller,u as WeekDay,ya as XhrFactory,R as formatCurrency,Q as formatDate,T as formatNumber,S as formatPercent,O as getCurrencySymbol,J as getLocaleCurrencyCode,I as getLocaleCurrencyName,H as getLocaleCurrencySymbol,C as getLocaleDateFormat,E as getLocaleDateTimeFormat,x as getLocaleDayNames,w as getLocaleDayPeriods,N as getLocaleDirection,z as getLocaleEraNames,L as getLocaleExtraDayPeriodRules,M as getLocaleExtraDayPeriods,A as getLocaleFirstDayOfWeek,v as getLocaleId,y as getLocaleMonthNames,G as getLocaleNumberFormat,F as getLocaleNumberSymbol,K as getLocalePluralCase,D as getLocaleTimeFormat,B as getLocaleWeekEndRange,P as getNumberOfCurrencyDigits,Da as isPlatformBrowser,Ea as isPlatformServer,Ja as provideCloudflareLoader,Ka as provideCloudinaryLoader,La as provideImageKitLoader,Ma as provideImgixLoader,Na as provideNetlifyLoader,Aa as registerLocaleData,e as \u0275DomAdapter,Ha as \u0275NullViewportScroller,Ba as \u0275PLATFORM_BROWSER_ID,Ca as \u0275PLATFORM_SERVER_ID,za as \u0275PlatformNavigation,c as \u0275getDOM,i as \u0275normalizeQueryParams,xa as \u0275parseCookieValue,d as \u0275setRootDomAdapter};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as a,d as b}from"./chunk-OBJPWKDY.js";import"./chunk-UV3WAAEX.js";import"./chunk-CZLLEVMJ.js";import"./chunk-BVEALUGN.js";import"./chunk-UACX27D3.js";import"./chunk-QGFC5ZUR.js";import"./chunk-P2DII6CV.js";import"./chunk-GUH5TMOS.js";import"./chunk-OWAZS6AA.js";import"./chunk-CWBEE627.js";import"./chunk-USU2EHJV.js";import"./chunk-4URGDROZ.js";import"./chunk-L2EO4M4B.js";import"./chunk-4YL5DZVH.js";import"./chunk-WRNQOX5R.js";import"./chunk-QM6X5ZEC.js";import"./chunk-WJPLJKPQ.js";import"./chunk-FPPZ4BUR.js";import"./chunk-QDFCX6XE.js";import"./chunk-EUDKD2JW.js";export{a as createEncryptionForm,b as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{la as o}from"./chunk-
|
|
1
|
+
import{la as o}from"./chunk-WJPLJKPQ.js";import{a as s}from"./chunk-73RDJP55.js";import{_ as e,eb as n}from"./chunk-QDFCX6XE.js";var m=class i{#t=e(s);#r=e(o);convertTimestamp(t){let r=/^(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2})Z$/.exec(t);if(r){let[a,p,f,c,d,u,h]=r;return`${p}-${f}-${c}T${d}:${u}:${h}Z`}return t}transform(t,r=!1,...a){return t?r?this.#r.transform(t,"short"):(this.#t.locale(),typeof t=="string"&&(t=this.convertTimestamp(t)),this.#t(t).fromNow()):"N/A"}static \u0275fac=function(r){return new(r||i)};static \u0275pipe=n({name:"relativeTime",type:i,pure:!0})};export{m as a};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{h as P}from"./chunk-QM6X5ZEC.js";import"./chunk-FPPZ4BUR.js";import{Db as n,Eb as i,H as p,Oc as x,Ra as s,V as h,Yb as L,_ as r,bb as u,hc as E,lc as a,mc as M,oa as c,ub as f,vb as C,wb as _,xb as v,yb as b}from"./chunk-QDFCX6XE.js";import"./chunk-EUDKD2JW.js";var l=class e{#e=r(P);isLoaded=c(!1);crashLog=c(null);load(){this.isLoaded()||this.#e.getApiV1LogdataCrashlog().pipe(p(()=>this.isLoaded.set(!0))).subscribe({next:t=>{this.crashLog.set(t.Logdata??null)}})}static \u0275fac=function(o){return new(o||e)};static \u0275prov=h({token:e,factory:e.\u0275fac,providedIn:"root"})};function O(e,t){e&1&&(n(0,"div",0),a(1,"Loading ..."),i())}function S(e,t){e&1&&(n(0,"div",0),a(1,"No crash log found"),i())}function w(e,t){if(e&1&&(n(0,"li"),a(1),i()),e&2){let o=t.$implicit;s(),M(o)}}function D(e,t){if(e&1&&(n(0,"div",2)(1,"code")(2,"ol",3),v(3,w,2,1,"li",null,_),i()()()),e&2){let o=L();E("grid-column","1 / -1")("height","auto"),s(3),b(o.breakIntoLines(o.crashLog()))}}var m=class e{#e=r(l);logsLoading=x(()=>!this.#e.isLoaded());crashLog=this.#e.crashLog;ngOnInit(){this.#e.load()}breakIntoLines(t){return t?t.split(`
|
|
2
|
+
`):[]}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=u({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(o,d){if(o&1&&(n(0,"h3"),a(1,"Crash log"),i(),f(2,O,2,0,"div",0)(3,S,2,0,"div",0)(4,D,5,4,"div",1)),o&2){let g;s(2),C(d.logsLoading()?2:d.crashLog()==null||((g=d.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}sh-table[_ngcontent-%COMP%]{--table-columns: auto auto 1fr auto}sh-table[_ngcontent-%COMP%] td.id[_ngcontent-%COMP%]{justify-content:center}sh-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:has(code){padding:1rem .75rem;overflow:hidden}sh-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{m as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as Ie}from"./chunk-GUH5TMOS.js";import{a as Re}from"./chunk-OWAZS6AA.js";import{c as ke,e as Le,i as Ae,s as $e}from"./chunk-USU2EHJV.js";import{A as we,a as Me,d as ve,e as Ne,f as Se,l as Oe,n as xe,p as ye}from"./chunk-WRNQOX5R.js";import{h as De}from"./chunk-QM6X5ZEC.js";import{ea as be}from"./chunk-WJPLJKPQ.js";import{Ab as d,Ac as j,B as le,Bb as g,Bc as Te,Cb as H,H as Q,Hc as Fe,Ib as U,Jb as L,Oc as $,Pc as W,Qb as he,Ra as m,Rb as pe,Sb as A,Tb as ue,Tc as ie,Ub as _e,Uc as E,Vc as ne,Wb as y,Yb as u,Zb as ge,_ as V,_b as G,bb as ae,ea as b,ec as J,fa as M,fc as fe,gb as K,gc as Y,hc as me,ic as x,lc as F,mc as Ce,n as re,nc as Pe,oa as O,qc as Z,r as B,rc as ee,sc as te,ub as v,vb as N,x as se,xb as ce,yb as de,zb as k,zc as Ee}from"./chunk-QDFCX6XE.js";import{a as X,b as q}from"./chunk-EUDKD2JW.js";var je=["treeContainer"],ze=["formRef"],Xe=[[["label"]],[["label"]],[["input"]]],qe=["label","label","input"],Qe=o=>({children:o,level:0}),We=o=>({$implicit:o}),Ke=(o,t)=>({children:o,level:t}),Ue=()=>({maxWidth:"700px",width:"100%"}),Je=(o,t)=>t.id;function Ye(o,t){if(o&1){let e=L();d(0,"sh-button-group")(1,"button",19),y("click",function(){b(e);let n=u();return M(n.pathDiscoveryMethod.set("browse"))}),A(2,4),g(),d(3,"button",19),y("click",function(){b(e);let n=u();return M(n.pathDiscoveryMethod.set("path"))}),A(4,5),g()()}if(o&2){let e=u();m(),x("active",e.pathDiscoveryMethod()==="browse"),m(2),x("active",e.pathDiscoveryMethod()==="path")}}function Ze(o,t){o&1&&H(0,"sh-progress-bar",12)}function et(o,t){o&1&&(d(0,"sh-icon",24),F(1,"caret-down"),g())}function tt(o,t){o&1&&H(0,"sh-icon",24)}function it(o,t){o&1&&(d(0,"sh-icon",24),F(1,"caret-right"),g())}function nt(o,t){o&1&&(d(0,"sh-icon",22),F(1,"folder-open"),g())}function ot(o,t){o&1&&(d(0,"sh-icon",22),F(1,"folder-user"),g())}function rt(o,t){o&1&&(d(0,"sh-icon",22),F(1,"file"),g())}function st(o,t){o&1&&(d(0,"sh-icon",22),F(1,"folder"),g())}function lt(o,t){if(o&1&&(v(0,et,2,0,"sh-icon",24)(1,tt,1,0,"sh-icon",24)(2,it,2,0,"sh-icon",24),v(3,nt,2,0,"sh-icon",22)(4,ot,2,0,"sh-icon",22)(5,rt,2,0,"sh-icon",22)(6,st,2,0,"sh-icon",22)),o&2){let e=u(2).$implicit;N(e.children.length?0:e.cls==="file"?1:2),m(3),N(e.children.length?3:e.id==="%HOME%"?4:e.cls==="file"?5:6)}}function at(o,t){o&1&&(d(0,"sh-icon",22),F(1,"desktop-tower"),g())}function ct(o,t){o&1&&U(0)}function dt(o,t){if(o&1&&K(0,ct,1,0,"ng-container",13),o&2){let e=u(2).$implicit,i=u().$implicit;u();let n=Y(7);k("ngTemplateOutlet",n)("ngTemplateOutletContext",j(5,We,Te(2,Ke,e.children,i.level+1)))}}function ht(o,t){if(o&1){let e=L();d(0,"div",20,3),y("click",function(){b(e);let n=u().$implicit,r=u(2);return M(r.toggleNode(n.id,n))}),d(2,"div",21),v(3,lt,7,2)(4,at,2,0,"sh-icon",22),g(),d(5,"div",23),y("click",function(n){b(e);let r=u().$implicit,a=u(2);return M(a.toggleSelectedNode(n,r))}),F(6),g()(),v(7,dt,1,7,"ng-container")}if(o&2){let e=u().$implicit,i=u().$implicit,n=u();x("accepted",e.accepted===!0)("active",e.evalState===n.TreeEvalEnum.Included)("indeterminate",e.isIndeterminate)("open",e.children.length)("usually-hidden",e.hidden)("root",i.level===0),m(2),x("file",e.cls==="file"),m(),N(e.id!=="/"?3:4),m(3),Pe(" ",e.text," "),m(),N(e.children.length>0?7:-1)}}function pt(o,t){if(o&1&&v(0,ht,8,17),o&2){let e=t.$implicit,i=u(2);N(e.hidden&&i._showHiddenNodes()||!e.hidden?0:-1)}}function ut(o,t){if(o&1&&(d(0,"sh-list"),ce(1,pt,1,1,null,null,Je),g()),o&2){let e=t.$implicit;me("padding-left",e.level*.25,"rem"),m(),de(e.children)}}function _t(o,t){o&1&&U(0)}function gt(o,t){if(o&1){let e=L();d(0,"sh-toggle",25),y("click",function(){b(e);let n=u();return M(n._showHiddenNodes.set(!n._showHiddenNodes()))}),A(1,6),g()}if(o&2){let e=u();x("active",e._showHiddenNodes()),m(),ue(e.showFiles()?"files":"folders"),_e(1)}}function ft(o,t){if(o&1){let e=L();d(0,"button",26),y("click",function(){b(e);let n=u();return M(n.openCreateFolderDialog())}),A(1,7),g()}if(o&2){let e=u();k("disabled",!e.isCurrentPathFolder())}}function mt(o,t){if(o&1){let e=L();d(0,"sh-dialog",27),te("isOpenChange",function(n){b(e);let r=u();return ee(r.createFolderDialogOpen,n)||(r.createFolderDialogOpen=n),M(n)}),d(1,"header",28)(2,"h2"),A(3,8),g()(),d(4,"div",29)(5,"div"),F(6," Folder will be created under "),d(7,"pre"),F(8),g()(),d(9,"sh-form-field")(10,"textarea",30),te("ngModelChange",function(n){b(e);let r=u();return ee(r.createFolderPath,n)||(r.createFolderPath=n),M(n)}),g()()(),d(11,"footer",31)(12,"button",32),y("click",function(){b(e);let n=u();return M(n.closeCreateFolderDialog(!1))}),F(13,"Cancel"),g(),d(14,"button",33),y("click",function(){b(e);let n=u();return M(n.closeCreateFolderDialog(!0))}),he(15,9),H(16,"sh-icon"),pe(),g()()()}if(o&2){let e,i=u();Z("isOpen",i.createFolderDialogOpen),k("options",Ee(5,Ue)),m(8),Ce(i.currentPath()),m(2),Z("ngModel",i.createFolderPath),m(4),k("disabled",!((e=i.createFolderPath())!=null&&e.length))}}var Be=(r=>(r[r.ExcludedByParent=-2]="ExcludedByParent",r[r.Excluded=-1]="Excluded",r[r.None=0]="None",r[r.Included=1]="Included",r[r.IncludedByParent=2]="IncludedByParent",r))(Be||{}),T="/",oe=class o{#t=V(De);#n=V(Re);#d=V(Ne);multiSelect=E(!1);disabled=E(!1);showFiles=E(!1);selectFiles=E(!1);accepts=E(null);startingPath=E(null);rootPaths=E([]);initialNodes=E([]);backupSettings=E(null);pathRefreshTrigger=E(!1);showHiddenNodes=E(!1);enableCreateFolder=E(!1);hideShortcuts=E(!1);includes=ie();excludes=ie();_showHiddenNodes=O(!1);createFolderDialogOpen=O(!1);createFolderPath=O(null);treeContainerRef=ne("treeContainer");formRef=ne("formRef");pathDiscoveryMethod=O("browse");isLoading=O(!1);currentPath=O("/");#o=O(null);treeSearchQuery=O("");treeNodes=O([]);isWindows=$(()=>this.#n.systemInfo()?.OSType==="Windows");pathDelimiter=$(()=>this.isWindows()?"\\":"/");filterGroups=this.#n.filterGroups();isByBackupSettings=$(()=>{let t=this.backupSettings();return!(t===void 0||t?.id===void 0||t?.time===void 0)});searchableTreeNodes=$(()=>{let t=this.treeSearchQuery();return t?this.treeNodes().filter(e=>e.text?.toLowerCase().includes(t.toLowerCase())):this.treeNodes()});TreeEvalEnum=Be;treeStructure=$(()=>{let t=this.showHiddenNodes(),e=this.currentPath().split("\0").filter(l=>l!==""&&l!==T),i=structuredClone(e);for(let l=0;l<i.length;l++){let f=i[l].slice(1);if(f.startsWith("{")&&f.endsWith("}")){let _=f.slice(1,-1),c=this.filterGroups?.FilterGroups[_];if(c&&c.length){let S=c.map(C=>`-${C}`);i.splice(l,1,...S)}}}let n=this.searchableTreeNodes(),r=this.rootPaths(),a=this.accepts(),p=this.pathDelimiter(),s=[];return r.length>0?s=r.map(l=>{let h=this.#s(i,l,"folder",null);return{id:l,resolvedpath:l,text:l,parentPath:"",children:[],evalState:h,isIndeterminate:!1,cls:this.#e(l,p)?"folder":"file"}}):s=[{id:T,resolvedpath:T,text:$localize`Computer`,parentPath:"",children:[],evalState:0,isIndeterminate:!1,cls:"folder"}],s.map(l=>{let h=new Map,f=l?.id;a&&(l.accepted=!0),h.set(l.id,l);let _=r.length>0?n.filter(c=>c.parentPath.startsWith(l.id)):n;for(let c of _){let C=(r.length>0?c.id.replace(f??"",""):c.id).split(p).filter(Boolean),P="",w=l;for(let R of C){if(P+=R+p,!h.has(P)){let z=c.hidden===!0&&t?0:this.#s(i,c.id,c.cls,w),D={id:c.id,isIndeterminate:this.isIndeterminate(i,c.id),evalState:z,parentPath:P,resolvedpath:c.cls=="folder"?this.#r(c.resolvedpath):P,hidden:c.hidden,text:c.text,cls:c.cls,children:[]};a&&(D.accepted=this.matchAccepts(a,D)),h.set(P,D),w.children.push(D)}w=h.get(P)}}return l}),s});#r(t){let e=this.pathDelimiter();return t?t.endsWith(e)||t===T?t:t+e:T}#s(t,e,i,n){if(n&&n.evalState===-1)return-2;let r=0,a=this.pathDelimiter(),p=t.filter(h=>!h.startsWith("-")&&!h.startsWith("+")),s=t.filter(h=>h.startsWith("-")||h.startsWith("+")),l=this.multiSelect();if(p.length===0)return r;for(let h=0;h<p.length;h++){let f=p[h];if(e===f){r=1;break}if(!l||!this.#e(f,a))continue;if(e?.startsWith(f)){r=1;break}}if(s.length===0)return r;for(let h=0;h<s.length;h++){let f=s[h],_=f.slice(1),c=f.startsWith("-")?-1:1;if(this.#e(_,a)){if(i!=="folder")continue;if(e===_){r=c;break}}if(_.startsWith("*")&&_.endsWith(`*${a}`)){if(i!=="folder")continue;let C=_.slice(1,-2);if(C==="")break;if(e?.includes(C+a)){r=c;break}}if(_.startsWith("[.*")&&_.endsWith(`[^\\${a}]*]`)){if(i!=="file")continue;let C=_.slice(3,-7);if(new RegExp(C).test(e)){r=c;break}}if(_.startsWith("[")&&_.endsWith("]")){let C=_.slice(1,-1),P=this.translateCSharpRegex(C);if(new RegExp(`${P}`).test(e)){r=c;break}}if(_.startsWith("*.")){if(i!=="file"||_.replace("*.","").length===0)continue;if(this.#l(e,_,!0)){r=c;break}}if(_==="")continue;if(_===e){r=c;break}if(this.#l(e,_,!0)){r=c;break}}return r}translateCSharpRegex(t){let e=t;e=e.replace(/^@/,"");let i=/\(\?<(?<name>\w+)>(?<pattern>[^)]+)\)/g;return e=e.replace(i,(n,r,a)=>`(${a})`),e=e.replace(/\\/g,"\\\\"),e}isIndeterminate(t,e){return t.filter(i=>!i.startsWith("-")&&this.#e(i,this.pathDelimiter())).some(i=>i.startsWith(e))}isCurrentPathFolder(){let t=this.currentPath();return t?t.endsWith(this.pathDelimiter())||t.startsWith("%")&&t.endsWith("%")&&!t.includes(this.pathDelimiter()):!1}#l(t,e,i=!1){let n=e.replace(/\*/g,".*").replace(/\?/g,".").replace(/\[!([^\]]+)\]/g,"[^$1]");return new RegExp(`${n}${i?"$":""}`).test(t)}showHiddenNodesEffect=W(()=>this._showHiddenNodes.set(this.showHiddenNodes()));pathDiscoveryMethodEffect=W(()=>{let t=this.pathDiscoveryMethod(),e=this.#o();t==="browse"&&e&&this.currentPath.set(e.value)});matchAccepts(t,e){if(!t||e.cls==="folder"||e.id===T)return!0;let i=t.split(",");if(i.length===0)return!0;let n="."+e.id.slice(e.id.indexOf("."));return n?i.some(r=>n.endsWith(r)):!1}currentPathEffect=W(()=>{let t=this.#o();t&&(t.value=this.currentPath(),t.dispatchEvent(new Event("input")))});inputValueChangeAbortController=null;inputRefEffect=W(()=>{let t=this.formRef()?.nativeElement?.querySelector("input");t&&(this.#h(t),this.inputValueChangeAbortController&&this.inputValueChangeAbortController.abort(),this.inputValueChangeAbortController=new AbortController,t.addEventListener("inputValueChanged",e=>{this.currentPath.set(e.detail.value)},{signal:this.inputValueChangeAbortController.signal}),this.#o.set(t),t.autocomplete="off")});ngOnInit(){let t=this.startingPath();if(t)this.currentPath.set(t),this.#_(t);else{let e=this.rootPaths(),i=this.initialNodes();e&&e.length>0?(i&&i.length>0&&this.treeNodes.set(i.map(n=>({id:n.id,leaf:n.leaf,cls:n.cls,text:n.text,iconCls:n.iconCls,fileSize:n.fileSize,resolvedpath:n.resolvedpath,parentPath:this.getParentPath(n.id??"")}))),this.#i(null,e[0])):this.#i(null,T)}}getParentPath(t){let e=this.pathDelimiter(),i=t.split(e);return i.length<=1?T:(i.pop(),i.length!==0&&i.pop(),i.join(e)+e)}toggleSelectedNode(t,e){if(e.id===T||(t.stopPropagation(),e.evalState===-2))return;if(this.selectFiles()&&e.cls==="folder"){this.toggleNode(e.id,e);return}if(this.accepts()&&!e.accepted)return;let n=this.currentPath().split("\0").filter(s=>s!==""&&s!==T),a=this.isChildOfSelected(e)?`-${e.id}`:e.id,p=this.#e(e.id,this.pathDelimiter());if(this.multiSelect())if(n.includes(e.id))this.currentPath.set(n.filter(s=>s!==e.id&&!(p&&s.startsWith(a))).join("\0"));else if(n.some(s=>s==a))this.currentPath.set(n.filter(s=>s!==a).join("\0"));else{let s=p?n.filter(l=>!l.startsWith(e.id)):n;this.currentPath.set([...s,a].join("\0"))}else n.includes(e.id)?this.currentPath.set(n.filter(s=>s!==e.id).join("\0")):this.currentPath.set(e.id)}isChildOfSelected(t){return this.currentPath().split("\0").filter(i=>i!==""&&i!==T&&this.#e(i,this.pathDelimiter())).some(i=>t.id?.startsWith(i)||`-${t.id}`.startsWith(i))}toggleNode(t,e=null){e?.cls==="folder"&&(e?.children.length?this.treeNodes.update(i=>i.filter(n=>!n.id?.startsWith(e.id)||n.id===e.id)):this.#i(e,t))}openCreateFolderDialog(){return this.createFolderPath.set(null),this.createFolderDialogOpen.set(!0),!1}closeCreateFolderDialog(t){if(t&&this.createFolderPath()?.length&&this.isCurrentPathFolder()){let e=this.createFolderPath()?.trim();if(e){let i=this.currentPath(),n=this.#r(e),r=i+n;this.#t.postApiV1RemoteoperationCreate({requestBody:{path:"file://"+r}}).subscribe({next:()=>{this.currentPath.set(r),this.#i(null,i),setTimeout(()=>{this.#a()},500),this.createFolderDialogOpen.set(!1)},error:a=>{let p=a?.message?.match(/user-information\s*:\s*(.*?)(?:\s*,|$)/i),s=p?p[1]:a?.message||$localize`An error occurred while trying to create the folder.`;this.#d.open(Ie,{data:{title:$localize`Cannot create folder`,message:s,confirmText:$localize`OK`,cancelText:void 0}})}})}}else this.createFolderDialogOpen.set(!1);return!1}#a(){setTimeout(()=>{let e=this.treeContainerRef()?.nativeElement?.querySelector(".active");e&&e.scrollIntoView({behavior:"smooth",block:"center"})},100)}#h(t){return Object.defineProperty(t,"value",{configurable:!0,get(){return Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value").get.call(this)},set(e){return Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value").set.call(this,e),this.dispatchEvent(new CustomEvent("inputValueChanged",{bubbles:!0,cancelable:!0,detail:{value:e}})),e}}),t}#p(t){return this.#t.postApiV1Filesystem({showHidden:!0,requestBody:{path:t},onlyFolders:!this.showFiles()})}#u(t){let e=this.backupSettings();if(this.#n.hasV2ListOperations())return this.#t.postApiV2BackupListFolder({requestBody:{BackupId:e.id,Time:e.time,Paths:t?[t]:null,PageSize:0,Page:0}}).pipe(B(i=>i.Data??[]));{let i={id:e.id+"",prefixOnly:!1,folderContents:!0,time:e.time,filter:t?"@"+t:void 0};return this.#t.getApiV1BackupByIdFiles(i).pipe(B(n=>n.Files??[]))}}#c(t){return this.isByBackupSettings()?this.#u(t):this.#p(t)}#_(t){let e=this.pathDelimiter(),i=t.split("\0").filter(s=>s.startsWith("-")).map(s=>s.slice(1,-1)),n=t.split("\0").filter(s=>!s.startsWith("-")).filter(Boolean),r=n.map(s=>{let l=s.split(e);return l.at(-1)!==""&&l.pop(),l}),a=[T];r.forEach(s=>{s.forEach((l,h)=>{let f=s.slice(0,h+1).join(e);f!==""&&(a.includes(f)||a.push(f))})}),this.isLoading.set(!0);let p=a.map(s=>this.#c(s).pipe(B(l=>({status:"success",value:l,url:s})),le(l=>re({status:"error",value:l,url:s}))));se(p).pipe(Q(()=>this.isLoading.set(!1))).subscribe({next:s=>{let l=s.filter(f=>f.status==="success"),h=s.filter(f=>f.status==="error");this.treeNodes.update(f=>{let _=l.flatMap(S=>S.value.map(C=>{let P=C.id,w=C.id.startsWith("%")&&C.id.endsWith("%")?C.resolvedpath+e:C.id,R=P&&P.split(e).filter(Boolean).slice(0,-1).join(e),z=P&&P.split(e).filter(Boolean).join(e),D=e+z,Ve=n.findIndex(I=>this.multiSelect()?D.startsWith(I):D===I)>-1,He=n.findIndex(I=>I===P)>-1,Ge=i.findIndex(I=>I===D)>-1;return q(X({},C),{cls:this.#e(w,e)||w==T?"folder":"file",parentPath:R.startsWith("%")?R:e+R,isSelected:Ve&&!Ge||He})})),c=[...new Map([...f,..._].map(S=>[S.id,S])).values()];return this.#a(),this.hideShortcuts()?c.filter(S=>!S.id.startsWith("%")):c})}})}#e(t,e){return t.startsWith("%")&&t.endsWith("%")||t.endsWith(e)}#i(t=null,e=T){let i=this.pathDelimiter();this.isLoading.set(!0),this.#c(e).pipe(Q(()=>this.isLoading.set(!1))).subscribe({next:n=>{let r=this.isByBackupSettings()?n.map(a=>({text:a.Path.split(i).filter(p=>p!=="").pop(),id:a.Path,cls:this.#e(a.Path,i)?"folder":"file",leaf:t!==null,resolvedpath:a.Path,hidden:!1})):n;this.treeNodes.update(a=>{let p=r.map(l=>{let h=this.#e(l.id,i)?"folder":"file";return q(X({},l),{cls:h,parentPath:e})}),s=[...new Map([...a,...p].map(l=>[l.id,l])).values()];return this.hideShortcuts()?s.filter(l=>!l.id.startsWith("%")):s})}})}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=ae({type:o,selectors:[["app-file-tree"]],viewQuery:function(e,i){e&1&&(J(i.treeContainerRef,je,5),J(i.formRef,ze,5)),e&2&&fe(2)},hostVars:2,hostBindings:function(e,i){e&2&&x("disabled",i.disabled())},inputs:{multiSelect:[1,"multiSelect"],disabled:[1,"disabled"],showFiles:[1,"showFiles"],selectFiles:[1,"selectFiles"],accepts:[1,"accepts"],startingPath:[1,"startingPath"],rootPaths:[1,"rootPaths"],initialNodes:[1,"initialNodes"],backupSettings:[1,"backupSettings"],pathRefreshTrigger:[1,"pathRefreshTrigger"],showHiddenNodes:[1,"showHiddenNodes"],enableCreateFolder:[1,"enableCreateFolder"],hideShortcuts:[1,"hideShortcuts"]},outputs:{includes:"includes",excludes:"excludes"},ngContentSelectors:qe,decls:18,vars:17,consts:()=>{let t;t=$localize` Browse path `;let e;e=$localize` Manually type path `;let i;i=$localize` Show hidden ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let n;n=$localize` Create folder `;let r;r=$localize`Enter new folder path`;let a;return a=$localize` Create folder ${"\uFFFD#16\uFFFD"}:START_TAG_SH_ICON:folder-plus${"\uFFFD/#16\uFFFD"}:CLOSE_TAG_SH_ICON:`,[["treeContainer",""],["recursiveTree",""],["formRef",""],["treeNode",""],t,e,i,n,r,a,[1,"section"],[1,"browse-files"],[1,"indeterminate","primary"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"footer"],[1,"primary","raised","browse-files-toggle",3,"active"],["shButton","","type","button",1,"small","create-folder",3,"disabled"],[1,"form-field"],[3,"isOpen","options"],["type","button",3,"click"],["action","",3,"click"],[1,"icon"],[1,"primary"],[1,"text",3,"click"],[1,"small"],[1,"primary","raised","browse-files-toggle",3,"click"],["shButton","","type","button",1,"small","create-folder",3,"click","disabled"],[3,"isOpenChange","isOpen","options"],["header",""],["content",""],["id","targetUrl","autocomplete","off",3,"ngModelChange","ngModel"],["footer",""],["shButton","","type","button",3,"click"],["shButton","",1,"raised","primary",3,"click","disabled"]]},template:function(e,i){if(e&1&&(ge(Xe),v(0,Ye,5,4,"sh-button-group"),d(1,"div",10),G(2,0,["ngProjectAs","label",5,["label"]]),d(3,"div",11,0),v(5,Ze,1,0,"sh-progress-bar",12),K(6,ut,3,2,"ng-template",null,1,Fe)(8,_t,1,0,"ng-container",13),g(),d(9,"div",14),v(10,gt,2,3,"sh-toggle",15),v(11,ft,2,1,"button",16),g()(),d(12,"div",17,2)(14,"sh-form-field"),G(15,1,["ngProjectAs","label",5,["label"]]),G(16,2,["ngProjectAs","input",5,["input"]]),g()(),v(17,mt,17,6,"sh-dialog",18)),e&2){let n=Y(7);N(i.multiSelect()?-1:0),m(),x("hidden",i.pathDiscoveryMethod()!=="browse"),m(2),x("visualize-accepted",i.accepts()),m(2),N(i.isLoading()?5:-1),m(3),k("ngTemplateOutlet",n)("ngTemplateOutletContext",j(15,We,j(13,Qe,i.treeStructure()))),m(2),N(!i.accepts()&&!i.isByBackupSettings()?10:-1),m(),N(i.enableCreateFolder()?11:-1),m(),x("hidden",i.pathDiscoveryMethod()!=="path"),m(5),N(i.createFolderDialogOpen()?17:-1)}},dependencies:[Se,we,Me,Oe,xe,ye,ve,be,$e,ke,Le,Ae],styles:['[_nghost-%COMP%]{display:flex;flex-direction:column;gap:1rem}.disabled[_nghost-%COMP%]{opacity:.5;-webkit-user-select:none;user-select:none;pointer-events:none;position:relative}.disabled[_nghost-%COMP%]:before{content:"";position:absolute;inset:0;background:transparent}.fill[_nghost-%COMP%]{height:auto;overflow:hidden;flex:1 0}.fill[_nghost-%COMP%] .section[_ngcontent-%COMP%]{height:auto;overflow:hidden;flex:1 0;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;grid-template-areas:"label toggle" "tree tree"}.fill[_nghost-%COMP%] .browse-files[_ngcontent-%COMP%]{resize:none;height:initial;grid-area:tree}.fill[_nghost-%COMP%] label[_ngcontent-%COMP%]{grid-area:label}.fill[_nghost-%COMP%] sh-toggle[_ngcontent-%COMP%]{grid-area:toggle;flex-direction:row-reverse}.section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.form-field.hidden[_ngcontent-%COMP%]{display:none}.browse-files[_ngcontent-%COMP%]{display:flex;gap:.5rem;padding:.5rem 1rem;height:12.5rem;border:1px solid var(--base-4);border-radius:var(--shape-3);overflow:auto;resize:vertical;background:var(--base-1);position:relative}.browse-files[_ngcontent-%COMP%] sh-progress-bar[_ngcontent-%COMP%]{position:absolute;top:0;left:0;right:0}.browse-files.visualize-accepted[_ngcontent-%COMP%] [action][_ngcontent-%COMP%]:not(.accepted){opacity:.5}.browse-files.visualize-accepted[_ngcontent-%COMP%] [action].accepted[_ngcontent-%COMP%]{opacity:1}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%]{--list-active-bg: var(--base-3);gap:.125rem;padding:0;height:min-content;min-width:min-content}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%]{padding:0;gap:0;border:1px solid transparent}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action].active[_ngcontent-%COMP%]{border-color:transparent;--list-active-bg: var(--primary-2)}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action].indeterminate[_ngcontent-%COMP%]{border-color:var(--primary-4)}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action].usually-hidden[_ngcontent-%COMP%]{opacity:.6}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action].root[_ngcontent-%COMP%]{gap:.25rem}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action].root[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]:has(sh-icon:nth-child(2)){width:3rem}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action].root[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{width:1.5rem}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{flex:1 0;height:100%;width:max-content;display:flex;align-items:center}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{width:3rem;gap:.25rem;height:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer}.browse-files[_ngcontent-%COMP%] sh-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%] .icon.file[_ngcontent-%COMP%]{width:3rem;padding:0 .25rem}.browse-files-toggle[_ngcontent-%COMP%]{color:var(--base-9)}.hidden[_ngcontent-%COMP%]{display:none}.footer[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:space-between;align-items:center}'],changeDetection:0})};export{oe as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as R}from"./chunk-OWAZS6AA.js";import{a as k,n as w}from"./chunk-WRNQOX5R.js";import"./chunk-QM6X5ZEC.js";import{ea as D}from"./chunk-WJPLJKPQ.js";import"./chunk-FPPZ4BUR.js";import{Ab as c,Ac as _,Bb as r,Bc as $,Hc as b,Ib as u,Jb as M,Oc as A,Ra as l,Sb as P,Wb as N,Yb as s,_ as y,bb as T,ea as O,fa as x,gb as m,gc as C,hc as E,ic as S,lc as a,mc as F,oa as p,ub as d,vb as f,xb as I,yb as v,zb as g}from"./chunk-QDFCX6XE.js";import"./chunk-EUDKD2JW.js";var V=e=>({children:e,level:0}),Y=e=>({$implicit:e}),j=(e,t)=>({children:e,level:t}),z=(e,t)=>t.id;function B(e,t){if(e&1&&(c(0,"sh-icon"),a(1,"caret-down"),r()),e&2){let n=s().$implicit;S("open",n.isOpen())}}function G(e,t){e&1&&(c(0,"sh-icon"),a(1,"dot"),r())}function U(e,t){e&1&&u(0)}function X(e,t){if(e&1&&m(0,U,1,0,"ng-container",3),e&2){let n=s().$implicit,o=s().$implicit;s();let i=C(3);g("ngTemplateOutlet",i)("ngTemplateOutletContext",_(5,Y,$(2,j,n.children,o.level+1)))}}function q(e,t){if(e&1){let n=M();c(0,"div",4,1),N("click",function(){let i=O(n).$implicit,L=s(2);return x(i.children.length>0&&L.toggleNode(i))}),d(2,B,2,2,"sh-icon",5)(3,G,2,0,"sh-icon"),c(4,"div",6),a(5),r()(),d(6,X,1,7,"ng-container")}if(e&2){let n=t.$implicit;S("cannot-toggle",n.children.length===0)("open",n.isOpen()),l(2),f(n.children.length>0?2:3),l(3),F(n.text),l(),f(n.isOpen()?6:-1)}}function H(e,t){if(e&1&&(c(0,"sh-list"),I(1,q,7,7,null,null,z),r()),e&2){let n=t.$implicit;E("padding-left",n.level*.25,"rem"),l(),v(n.children)}}function J(e,t){e&1&&u(0)}var h=class e{#e=y(R);treeStructure=A(()=>{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:p(!1)}):o.push({id:i,text:`${i}: ${t[i]}`,children:[],level:n,isOpen:p(!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(),m(2,H,3,2,"ng-template",null,0,b)(4,J,1,0,"ng-container",3)),n&2){let i=C(3);l(4),g("ngTemplateOutlet",i)("ngTemplateOutletContext",_(4,Y,_(2,V,o.treeStructure())))}},dependencies:[w,k,D],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column}h3[_ngcontent-%COMP%]{font:var(--title-30);margin:0 0 1.25rem}sh-icon[_ngcontent-%COMP%]{font-size:1rem}sh-list[_ngcontent-%COMP%]{padding:0}sh-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%]{padding:0}sh-list[_ngcontent-%COMP%] [action].cannot-toggle[_ngcontent-%COMP%]{cursor:initial}"],changeDetection:0})};export{h as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as R}from"./chunk-X5ISYEI2.js";import{a as A,n as D,x as F}from"./chunk-WRNQOX5R.js";import{la as k}from"./chunk-WJPLJKPQ.js";import{Ab as o,Bb as i,Cb as P,Dc as y,Fc as $,Jb as N,Pc as b,Ra as l,Sb as m,Uc as L,Wb as w,Yb as d,_ as x,bb as M,ea as E,fa as O,hc as G,ic as v,lc as s,mc as u,nc as _,oa as I,ub as g,vb as p,wb as C,xb as f,yb as S,zb as T}from"./chunk-QDFCX6XE.js";function V(n,t){n&1&&(o(0,"div",4),m(1,0),i())}function B(n,t){if(n&1&&(o(0,"li"),s(1),i()),n&2){let e=t.$implicit;l(),u(e)}}function U(n,t){if(n&1&&(o(0,"code")(1,"ol",15),f(2,B,2,1,"li",null,C),i()()),n&2){let e=d(2).$implicit,a=d(2);l(2),S(a.breakIntoLines(e.Exception))}}function X(n,t){if(n&1&&(o(0,"li"),s(1),i()),n&2){let e=t.$implicit;l(),u(e)}}function z(n,t){if(n&1&&(o(0,"code")(1,"ol",15),f(2,X,2,1,"li",null,C),i()()),n&2){let e=d(2).$implicit,a=d(2);l(2),S(a.breakIntoLines(e.Message))}}function W(n,t){if(n&1&&(o(0,"tr")(1,"td",12)(2,"sh-list",13)(3,"div",14),s(4),i(),o(5,"div",14),s(6),i(),o(7,"div",14),s(8),i(),o(9,"div",14),s(10),i(),o(11,"div",14),s(12),i()(),g(13,U,4,0,"code"),g(14,z,4,0,"code"),i()()),n&2){let e=d().$implicit;l(4),_("ID: ",e.ID),l(2),_("Type: ",e.Type),l(2),_("Tag: ",e.Tag),l(2),_("TaskID: ",e.TaskID),l(2),_("MessageID: ",e.MessageID),l(),p(e.Exception?13:-1),l(),p(e.Message?14:-1)}}function j(n,t){if(n&1){let e=N();o(0,"tr",10),w("click",function(){let r=E(e).$index,c=d(2);return O(c.toggleRow(r))}),o(1,"td"),s(2),y(3,"date"),i(),o(4,"td"),s(5),i(),o(6,"td",8)(7,"button",11)(8,"sh-icon"),s(9,"caret-down"),i()()()(),g(10,W,15,7,"tr")}if(n&2){let e=t.$implicit,a=t.$index,r=d(2);l(2),u($(3,5,e.When,"medium")),l(3),u(r.subStringMessage(e.Message)),l(2),v("rotated-icon",a===r.openRowIndex()),l(3),p(a===r.openRowIndex()?10:-1)}}function H(n,t){if(n&1&&(o(0,"sh-table",6)(1,"tr",7)(2,"th"),m(3,1),i(),o(4,"th"),m(5,2),i(),P(6,"th",8),i(),f(7,j,11,8,null,null,C),o(9,"div",9),m(10,3),i()()),n&2){let e=d();G("grid-template-columns","auto 1fr auto"),v("type-b",e.asSimpleList()),T("data",e.logs())("loading",e.logsLoading()),l(7),S(e.logs())}}var h=class n{#e=x(R);whenFilter=L();backupIdFilter=L();asSimpleList=L();polling=L();logLevel=this.#e.logLevel;logLevelByLabel=this.#e.logLevelByLabel;logs=this.#e.logs;logsLoading=this.#e.logsLoading;pollingEffect=b(()=>{let t=this.polling()??!1;this.#e.isPolling.set(t)});openRowIndex=I(null);whenEffect=b(()=>{let t=this.whenFilter()??null;this.#e.setWhenFilter(t),this.#e.logLevel.set(t?"Verbose":"Disabled")});backupIdEffect=b(()=>{let t=this.backupIdFilter()??null;this.#e.setBackupIdFilter(t),this.#e.logLevel.set(t?"Verbose":"Disabled")});toggleRow(t){this.openRowIndex.set(t===this.openRowIndex()?null:t)}breakIntoLines(t){return t?t.split(`
|
|
2
|
+
`):[]}subStringMessage(t){return t?t.substring(0,80)+"...":""}ngOnDestroy(){this.#e.destroy()}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=M({type:n,selectors:[["app-logs-live"]],hostVars:2,hostBindings:function(e,a){e&2&&v("simple-list",a.asSimpleList())},inputs:{whenFilter:[1,"whenFilter"],backupIdFilter:[1,"backupIdFilter"],asSimpleList:[1,"asSimpleList"],polling:[1,"polling"]},decls:2,vars:1,consts:()=>{let t;t=$localize`Live logs are disabled`;let e;e=$localize`When`;let a;a=$localize`Message`;let r;return r=$localize`No data available`,[t,e,a,r,[1,"live-view-disabled"],[3,"type-b","data","loading","grid-template-columns"],[3,"data","loading"],["table-header",""],[1,"sticky-end"],["table-no-rows",""],[3,"click"],["shButton","","type","button",1,"outlined","small"],[1,"expanded-cell"],[1,"primary"],["item",""],[1,"line-numbers-ol"]]},template:function(e,a){e&1&&g(0,V,2,0,"div",4)(1,H,11,6,"sh-table",5),e&2&&p(a.logLevel()==="Disabled"?0:1)},dependencies:[F,A,D,k],styles:["[_nghost-%COMP%]{display:block}.simple-list[_nghost-%COMP%] sh-table[_ngcontent-%COMP%]{--table-td-bg: var(--base-2);height:100%}.live-view-disabled[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;min-height:18.75rem;width:100%;background-color:var(--base-2);border:1px solid var(--base-3);border-radius:var(--shape-2);font:var(--paragraph-20)}.expanded-cell[_ngcontent-%COMP%]{height:auto;grid-column:1/-1;white-space:pre-wrap;display:flex;flex-direction:column}h3[_ngcontent-%COMP%]{font:var(--title-30);margin:0 0 1.25rem}sh-table[_ngcontent-%COMP%]{--table-columns: auto auto 1fr auto}sh-table[_ngcontent-%COMP%] td.id[_ngcontent-%COMP%]{justify-content:center}sh-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:has(code){padding:1rem .75rem;overflow:hidden}sh-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;max-width:100%}"],changeDetection:0})};export{h as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{qa as l}from"./chunk-
|
|
1
|
+
import{qa as l}from"./chunk-WJPLJKPQ.js";import{_ as p,eb as f}from"./chunk-QDFCX6XE.js";var m=class o{decimalPipe=p(l);transform(t,e=!1,i=!1){if(i&&t===0)return e?"0 Bytes":"0B";if(!t||t===0||(typeof t=="string"&&(t=parseInt(t)),isNaN(t)))return"";let a=this.#t(),n=a?["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"]:["Bytes","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"],r=Math.floor(Math.log(t)/Math.log(a?1e3:1024));r=Math.min(r,n.length-1);let c=t/Math.pow(a?1e3:1024,r),s=this.decimalPipe.transform(c,"1.0-2");return s?`${s} ${e?n[r]:n[r].replace("Bytes","B")}`:""}#t(){if(navigator.userAgentData?.platform.toLowerCase().includes("mac"))return!0;let t=["mac","macintosh","os x","apple"],e=((navigator.userAgent||navigator.platform||navigator.vendor)??"").toLowerCase();return e?t.some(i=>e.includes(i)):!1}static \u0275fac=function(e){return new(e||o)};static \u0275pipe=f({name:"bytes",type:o,pure:!0})};export{m as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as v,c as N,e as E,i as O,k as P,s as D}from"./chunk-USU2EHJV.js";import{l as S,o as X,t as Y}from"./chunk-WRNQOX5R.js";import{Ab as u,Bb as s,Gb as L,Hb as x,Jb as W,Oc as m,Pc as f,Ra as a,Sb as I,Tb as F,Ub as A,Uc as g,Wb as j,Yb as b,Zb as T,_b as d,bb as C,ea as $,fa as w,gb as z,hc as G,lc as U,oa as l,oc as k,qc as c,rc as h,sc as _,tb as M,wb as B,xb as R,yb as V,yc as y,zb as p}from"./chunk-QDFCX6XE.js";var Q=[[["label"]],[["","prefix",""]],[["","suffix",""]]],ee=["label","[prefix]","[suffix]"];function te(i,e){if(i&1&&U(0),i&2){let t=e.$implicit,n=b();k("",t.label,"",n.hasPerSecond()?"/s":"")}}var ne=[{value:"bytes",label:"Bytes"},{value:"KB",label:"KB"},{value:"MB",label:"MB"},{value:"GB",label:"GB"},{value:"TB",label:"TB"},{value:"PB",label:"PB"}],ie=["throttle-upload","throttle-download"],H=class i{customId=g();inputType=g();timespan=l(0);unit=l("MB");sizeOptions=l(ne);readonly=l(!1);hasPerSecond=m(()=>{let e=this.inputType();return e&&ie.includes(e)});onChange=()=>{};onTouched=()=>{};onChangeEffect=f(()=>{this.onChange(this.getValue())});writeValue(e){if(e){let t=e.match(/^(\d+)(bytes|kb|mb|gb|tb|pb|b)$/i);t?(this.timespan.set(parseInt(t[1],10)),this.unit.set(t[2].toUpperCase())):(this.timespan.set(0),this.unit.set("MB"))}else this.timespan.set(0),this.unit.set("MB")}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.readonly.set(e)}getValue(){return`${this.timespan()}${this.unit()}`}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=C({type:i,selectors:[["app-size"]],inputs:{customId:[1,"customId"],inputType:[1,"inputType"]},features:[y([{provide:v,useExisting:i,multi:!0}])],ngContentSelectors:ee,decls:9,vars:10,consts:[[1,"label"],["type","number",3,"ngModelChange","id","ngModel","disabled"],["value","value","label","label",3,"options","readonly","isClearable"],["type","text",3,"ngModelChange","ngModel"]],template:function(t,n){t&1&&(T(Q),u(0,"div",0),d(1,0,["ngProjectAs","label",5,["label"]]),s(),u(2,"sh-form-field")(3,"input",1),_("ngModelChange",function(o){return h(n.timespan,o)||(n.timespan=o),o}),s(),d(4,1),d(5,2),s(),u(6,"sh-select",2)(7,"input",3),_("ngModelChange",function(o){return h(n.unit,o)||(n.unit=o),o}),s(),z(8,te,1,2,"ng-template"),s()),t&2&&(a(2),M("readonly",n.readonly()||void 0),a(),p("id",n.customId()),c("ngModel",n.timespan),p("disabled",n.readonly()),a(3),G("--miw",0),p("options",n.sizeOptions())("readonly",n.readonly())("isClearable",!1),a(),c("ngModel",n.unit))},dependencies:[Y,S,D,N,P,E,O],styles:['[_nghost-%COMP%]{display:grid;grid-template-areas:"label label" "input unit";grid-template-columns:3fr 1fr;gap:.5rem;align-items:flex-end}[_nghost-%COMP%] .label[_ngcontent-%COMP%]{grid-area:label;grid-column:1/-1}[_nghost-%COMP%] sh-form-field[_ngcontent-%COMP%]{grid-area:input}[_nghost-%COMP%] sh-select[_ngcontent-%COMP%]{grid-area:unit}'],changeDetection:0})};var oe=[[["label"]],[["","prefix",""]],[["","suffix",""]]],ae=["label","[prefix]","[suffix]"];function se(i,e){if(i&1){let t=W();u(0,"button",7),j("click",function(){let r=$(t).$implicit,o=b();return w(o.updateUnit(r.value))}),I(1,1),s()}if(i&2){let t=e.$implicit;a(),F(t.label),A(1)}}var le=[{value:"s",label:$localize`Seconds`},{value:"m",label:$localize`Minutes`},{value:"h",label:$localize`Hours`}],re=[{value:"Y",label:$localize`Years`},{value:"M",label:$localize`Months`},{value:"W",label:$localize`Weeks`},{value:"D",label:$localize`Days`}],pe=["retry-delay","web-timeout","read-write-timeout","run-script-timeout","list-timeout","short-timeout"],K=class i{customId=g();inputType=g();timespan=l(0);#e="D";unit=l(this.#e);unitLabel=m(()=>{let e=this.timeOptions(),t=e.findIndex(n=>n.value===this.unit());return e[t]?.label??this.unit()});isShortTime=m(()=>{let e=this.inputType();return e&&pe.includes(e.replace("--",""))});timeOptions=m(()=>this.isShortTime()?le:re);readonly=l(!1);onChange=()=>{};onTouched=()=>{};onChangeEffect=f(()=>{this.onChange(this.getValue())});inputTypeEffect=f(()=>{let e=this.timeOptions(),t=this.isShortTime()?"s":"D";this.#e=t,this.unit.set(t)});updateUnit(e){this.unit.set(e)}writeValue(e){let t=this.isShortTime();if(e){let n=t?/(\d+)([smh])/i:/^(\d+)([YMWD])$/i,r=e.match(n);r?(this.timespan.set(parseInt(r[1],10)),this.unit.set(r[2])):(this.timespan.set(0),this.unit.set(this.#e))}else this.timespan.set(0),this.unit.set(this.#e)}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.readonly.set(e)}getValue(){return`${this.timespan()}${this.unit()}`}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=C({type:i,selectors:[["app-timespan"]],inputs:{customId:[1,"customId"],inputType:[1,"inputType"]},features:[y([{provide:v,useExisting:i,multi:!0}])],ngContentSelectors:ae,decls:11,vars:6,consts:()=>{let e;e=$localize`${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let t;return t=$localize`${"\uFFFD0\uFFFD"}:INTERPOLATION:`,[e,t,["type","number",3,"ngModelChange","id","ngModel","disabled"],[3,"openIndicator"],["shButton","","type","button",1,"trigger"],["menu",""],["shButton","","type","button",1,"small"],["shButton","","type","button",1,"small",3,"click"]]},template:function(t,n){t&1&&(T(oe),d(0,0,["ngProjectAs","label",5,["label"]]),u(1,"sh-form-field")(2,"input",2),_("ngModelChange",function(o){return h(n.timespan,o)||(n.timespan=o),o}),s(),d(3,1),d(4,2),s(),u(5,"sh-menu",3)(6,"button",4),I(7,0),s(),L(8,5),R(9,se,2,1,"button",6,B),x(),s()),t&2&&(a(),M("readonly",n.readonly()||void 0),a(),p("id",n.customId()),c("ngModel",n.timespan),p("disabled",n.readonly()),a(3),p("openIndicator",!0),a(2),F(n.unitLabel()),A(7),a(2),V(n.timeOptions()))},dependencies:[X,S,D,N,P,E,O],styles:['[_nghost-%COMP%]{display:grid;grid-template-areas:"label label" "input unit";grid-template-columns:3fr 1fr;gap:.5rem;align-items:flex-end}[_nghost-%COMP%] .label[_ngcontent-%COMP%]{grid-area:label;grid-column:1/-1}[_nghost-%COMP%] sh-form-field[_ngcontent-%COMP%]{grid-area:input}[_nghost-%COMP%] sh-menu[_ngcontent-%COMP%]{grid-area:unit}[_nghost-%COMP%] sh-menu[_ngcontent-%COMP%] button.trigger[_ngcontent-%COMP%]{width:100%}'],changeDetection:0})};export{H as a,K as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as Ke}from"./chunk-VC6TE2B6.js";import{a as ze}from"./chunk-UACX27D3.js";import{b as Xe,c as de}from"./chunk-QGFC5ZUR.js";import"./chunk-5SPGCYAQ.js";import{a as Ue}from"./chunk-JB75BUPF.js";import"./chunk-P2DII6CV.js";import"./chunk-GUH5TMOS.js";import"./chunk-RHW5QVAY.js";import"./chunk-OWAZS6AA.js";import{a as Z}from"./chunk-CWBEE627.js";import"./chunk-USU2EHJV.js";import"./chunk-47WDRGVN.js";import"./chunk-4URGDROZ.js";import{b as ye,e as Be}from"./chunk-L2EO4M4B.js";import"./chunk-4YL5DZVH.js";import{a as W,g as se,j as xe,k as be,p as Fe,y as ke}from"./chunk-WRNQOX5R.js";import{h as ue}from"./chunk-QM6X5ZEC.js";import"./chunk-B5FUQFEQ.js";import{la as H,oa as re}from"./chunk-WJPLJKPQ.js";import"./chunk-FPPZ4BUR.js";import{a as ee}from"./chunk-IHNX6WZQ.js";import"./chunk-73RDJP55.js";import{Ab as a,Bb as i,Cb as s,Dc as c,Ec as T,Fc as A,Gb as N,Gc as h,Hb as G,Jb as U,Oc as ve,Qb as L,Ra as l,Rb as S,Sb as _,Tb as u,Ub as d,Uc as _e,Vb as D,Wb as $,Yb as E,_ as B,bb as z,ea as M,fa as R,ic as f,lc as g,mc as K,nc as I,oa as P,oc as $e,pc as fe,r as X,tc as Ie,ub as C,uc as he,vb as m,vc as V,wb as x,xb as b,yb as k,zb as w}from"./chunk-QDFCX6XE.js";import{a as le}from"./chunk-EUDKD2JW.js";function He(n,t){n&1&&s(0,"sh-progress-bar",32)}function We(n,t){n&1&&s(0,"div",35)}function je(n,t){n&1&&s(0,"div",35)}function Je(n,t){n&1&&s(0,"div",36)}function qe(n,t){n&1&&s(0,"div",37)}function Qe(n,t){if(n&1&&(a(0,"details",46)(1,"summary"),L(2,15),s(3,"sh-icon"),a(4,"div",47),s(5,"sh-icon",40),i(),S(),i(),a(6,"div",48)(7,"p"),_(8,16),c(9,"date"),i(),a(10,"p"),_(11,17),c(12,"date"),i(),a(13,"p"),_(14,18),c(15,"durationFormat"),i(),a(16,"p"),_(17,19),i(),s(18,"sh-divider"),a(19,"p"),_(20,20),i(),a(21,"p"),_(22,21),i()()(),a(23,"details",46)(24,"summary"),L(25,22),s(26,"sh-icon"),a(27,"div",47),s(28,"sh-icon",40),i(),S(),i(),a(29,"div",48)(30,"p"),_(31,23),c(32,"date"),i(),a(33,"p"),_(34,24),c(35,"date"),i(),a(36,"p"),_(37,25),c(38,"durationFormat"),i(),s(39,"sh-divider"),a(40,"p"),_(41,26),c(42,"bytes"),i(),a(43,"p"),_(44,27),c(45,"bytes"),i(),a(46,"p"),_(47,28),c(48,"bytes"),i(),s(49,"sh-divider"),a(50,"p"),_(51,29),i(),a(52,"p"),_(53,30),i()()()),n&2){let e=E(2).$implicit;l(9),u(A(9,17,e.data==null||e.data.TestResults==null?null:e.data.TestResults.BeginTime,"medium")),d(8),l(3),u(A(12,20,e.data==null||e.data.TestResults==null?null:e.data.TestResults.EndTime,"medium")),d(11),l(3),u(T(15,23,e.data==null||e.data.TestResults==null?null:e.data.TestResults.Duration)),d(14),l(2),u(e.data==null||e.data.TestResults==null?null:e.data.TestResults.VerificationsActualLength),d(17),l(3),u(e.data==null||e.data.TestResults==null?null:e.data.TestResults.WarningsActualLength),d(20),l(2),u(e.data==null||e.data.TestResults==null?null:e.data.TestResults.ErrorsActualLength),d(22),l(10),u(A(32,25,e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.BeginTime,"medium")),d(31),l(3),u(A(35,28,e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.EndTime,"medium")),d(34),l(3),u(T(38,31,e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.Duration)),d(37),l(4),u(e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.DeletedFileCount)(h(42,33,e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.DeletedFileSize,!0,!0)),d(41),l(3),u(e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.DownloadedFileCount)(h(45,37,e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.DownloadedFileSize,!0,!0)),d(44),l(3),u(e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.UploadedFileCount)(h(48,41,e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.UploadedFileSize,!0,!0)),d(47),l(3),u(e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.WarningsActualLength),d(51),l(2),u(e.data==null||e.data.CompactResults==null?null:e.data.CompactResults.ErrorsActualLength),d(53)}}function Ye(n,t){if(n&1&&(a(0,"code"),g(1),c(2,"json"),i()),n&2){let e=t.$implicit;l(),K(T(2,1,e))}}function Ze(n,t){if(n&1&&(a(0,"details",46)(1,"summary"),L(2,31),s(3,"sh-icon"),a(4,"div",47),s(5,"sh-icon",40),i(),S(),i(),a(6,"div",48),b(7,Ye,3,3,"code",null,x),i()()),n&2){let e=E(2).$implicit;l(5),u(e.data.VerificationsActualLength),d(2),l(2),k(e.data.Verifications)}}function en(n,t){if(n&1&&(a(0,"code"),g(1),c(2,"json"),i()),n&2){let e=t.$implicit;l(),K(T(2,1,e))}}function nn(n,t){n&1&&(a(0,"p"),g(1,"No errors"),i())}function tn(n,t){if(n&1&&(a(0,"code"),g(1),c(2,"json"),i()),n&2){let e=t.$implicit;l(),K(T(2,1,e))}}function on(n,t){if(n&1&&(a(0,"section",41)(1,"app-toggle-card",42),N(2,43),a(3,"h3"),_(4,0),i(),G(),N(5,44),a(6,"p"),_(7,1),c(8,"date"),i(),a(9,"p"),_(10,2),c(11,"date"),i(),a(12,"p"),_(13,3),c(14,"durationFormat"),i(),G(),i(),a(15,"app-toggle-card",42),N(16,43),a(17,"h3"),_(18,4),i(),G(),N(19,44),a(20,"p"),_(21,5),c(22,"bytes"),i(),a(23,"p"),_(24,6),c(25,"bytes"),i(),a(26,"p"),_(27,7),c(28,"bytes"),i(),a(29,"p"),_(30,8),c(31,"bytes"),i(),a(32,"p"),_(33,9),i(),a(34,"p"),_(35,10),i(),a(36,"p"),_(37,11),i(),G(),i(),a(38,"div",45),s(39,"sh-divider"),C(40,Qe,54,45),C(41,Ze,9,1,"details",46),a(42,"details",46)(43,"summary"),L(44,12),s(45,"sh-icon"),a(46,"div",47),s(47,"sh-icon",40),i(),S(),i(),a(48,"div",48),b(49,en,3,3,"code",null,x),i()(),a(51,"details",46)(52,"summary"),L(53,13),s(54,"sh-icon"),a(55,"div",47),s(56,"sh-icon",40),i(),S(),i(),a(57,"div",48),C(58,nn,2,0,"p"),b(59,tn,3,3,"code",null,x),i()(),s(61,"sh-divider"),a(62,"details")(63,"summary"),L(64,14),s(65,"sh-icon"),a(66,"div",47),s(67,"sh-icon",40),i(),S(),i(),a(68,"code")(69,"button",49),g(70,"Copy"),i(),g(71),c(72,"json"),i()()()()),n&2){let e=E().$implicit;l(),w("disallowToggle",!0),l(7),u(A(8,22,e.data==null?null:e.data.BeginTime,"medium")),d(7),l(3),u(A(11,25,e.data==null?null:e.data.EndTime,"medium")),d(10),l(3),u(T(14,28,e.data==null?null:e.data.Duration)),d(13),l(),w("disallowToggle",!0),l(7),u(e.data==null?null:e.data.ExaminedFiles)(h(22,30,e.data==null?null:e.data.SizeOfExaminedFiles,!0,!0)),d(21),l(3),u(e.data==null?null:e.data.OpenedFiles)(h(25,34,e.data==null?null:e.data.SizeOfOpenedFiles,!0,!0)),d(24),l(3),u(e.data==null?null:e.data.AddedFiles)(h(28,38,e.data==null?null:e.data.SizeOfAddedFiles,!0,!0)),d(27),l(3),u(e.data==null?null:e.data.ModifiedFiles)(h(31,42,e.data==null?null:e.data.SizeOfModifiedFiles,!0,!0)),d(30),l(2),u(e.data==null?null:e.data.DeletedFiles),d(33),l(2),u(e.data==null?null:e.data.TooLargeFiles),d(35),l(2),u(e.data==null?null:e.data.FilesWithError),d(37),l(3),m(e.data!=null&&e.data.TestResults?40:-1),l(),m((e.data==null?null:e.data.MainOperation)==="Test"?41:-1),l(6),u(e.data==null?null:e.data.WarningsActualLength),d(44),l(2),k(e.data==null?null:e.data.Warnings),l(7),u(e.data==null?null:e.data.ErrorsActualLength),d(53),l(2),m((e.data==null||e.data.Errors==null?null:e.data.Errors.length)===0?58:-1),l(),k(e.data==null?null:e.data.Errors),l(12),I(" ",T(72,46,e.data)," ")}}function an(n,t){if(n&1){let e=U();a(0,"article",33)(1,"header",34),$("click",function(){let r=M(e).$implicit,p=E();return R(p.toggleOpenEntry(r.id))}),C(2,We,1,0,"div",35)(3,je,1,0,"div",35)(4,Je,1,0,"div",36)(5,qe,1,0,"div",37),a(6,"h3"),g(7),c(8,"date"),i(),a(9,"p"),g(10),i(),s(11,"div",38),a(12,"div",39)(13,"sh-icon",40),g(14,"caret-down"),i()()(),C(15,on,73,48,"section",41),i()}if(n&2){let e=t.$implicit,o=E(),r=(e.data==null?null:e.data.ParsedResult)||"Unknown";l(2),m(r=="Fatal"?2:r=="Error"?3:r=="Warning"?4:5),l(5),K(A(8,7,e.timestamp,"medium")),l(3),$e(" ",e.data==null?null:e.data.MainOperation," ",o.getLocalizedSummary(e)," "),l(3),f("open",e.id===o.openEntry()),l(2),m(e.id===o.openEntry()?15:-1)}}var ce=class n{#e=B(ue);#n=new Z;#t=new ee;backupId=_e.required();openEntry=P(null);pagination=P({offset:0,pagesize:100});resource=de({params:()=>le({id:this.backupId()},this.pagination()),stream:({params:t})=>this.#e.getApiV1BackupByIdLog({id:t.id,pagesize:100}).pipe(X(e=>e.map(o=>({id:o.ID,operationId:o.OperationID,timestamp:o.Timestamp*1e3,type:o.Type,data:JSON.parse(o.Message),exception:JSON.stringify(o.Exception)==="{}"?null:o.Exception}))))});getLocalizedSummary(t){let e=t.data?.ErrorsActualLength??0,o=t.data?.WarningsActualLength??0,r=[];if(t.data?.MainOperation=="Backup"){if(t.data?.Duration){let p=this.#t.transform(t.data?.Duration,!0);p.startsWith("0h ")&&(p=p.slice(3)),p.startsWith("0m ")&&(p=p.slice(3)),r.push($localize`took ${p}`)}t.data?.BackendStatistics?.BytesUploaded&&r.push($localize`uploaded ${this.#n.transform(t.data?.BackendStatistics?.BytesUploaded)}`),t.data?.BackendStatistics?.KnownFileSize&&r.push($localize`backup size ${this.#n.transform(t.data?.BackendStatistics?.KnownFileSize)}`)}return e!==0&&r.push($localize`:@@errorCount:${e} error${e===1?"":"s"}`),o!==0&&r.push($localize`:@@warningCount:${o} warning${o===1?"":"s"}`),r.length===0?"":`(${r.join(", ")})`}toggleOpenEntry(t){if(this.openEntry()===t){this.openEntry.set(null);return}this.openEntry.set(t)}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=z({type:n,selectors:[["app-general-log"]],inputs:{backupId:[1,"backupId"]},decls:3,vars:1,consts:()=>{let t;t=$localize`Time`;let e;e=$localize`Start: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let o;o=$localize`End: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let r;r=$localize`Duration: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let p;p=$localize`Source files`;let v;v=$localize` Evaluated: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let y;y=$localize`Opened: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:)`;let j;j=$localize`Added: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:)`;let J;J=$localize` Modified: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let q;q=$localize`Deleted: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Q;Q=$localize`Too large: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Y;Y=$localize`Files with error: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let O;O=$localize`${"\uFFFD#45\uFFFD"}:START_TAG_SH_ICON:warning-circle${"[\uFFFD/#45\uFFFD|\uFFFD/#47\uFFFD]"}:CLOSE_TAG_SH_ICON: Warnings ${"\uFFFD0\uFFFD"}:INTERPOLATION: ${"\uFFFD#46\uFFFD"}:START_TAG_DIV:${"\uFFFD#47\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#45\uFFFD|\uFFFD/#47\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#46\uFFFD"}:CLOSE_TAG_DIV:`,O=D(O);let ne;ne=$localize`${"\uFFFD#54\uFFFD"}:START_TAG_SH_ICON:warning${"[\uFFFD/#54\uFFFD|\uFFFD/#56\uFFFD]"}:CLOSE_TAG_SH_ICON: Errors ${"\uFFFD0\uFFFD"}:INTERPOLATION: ${"\uFFFD#55\uFFFD"}:START_TAG_DIV:${"\uFFFD#56\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#54\uFFFD|\uFFFD/#56\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#55\uFFFD"}:CLOSE_TAG_DIV:`,ne=D(ne);let te;te=$localize`${"\uFFFD#65\uFFFD"}:START_TAG_SH_ICON:notepad${"[\uFFFD/#65\uFFFD|\uFFFD/#67\uFFFD]"}:CLOSE_TAG_SH_ICON: Complete log ${"\uFFFD#66\uFFFD"}:START_TAG_DIV:${"\uFFFD#67\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#65\uFFFD|\uFFFD/#67\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#66\uFFFD"}:CLOSE_TAG_DIV:`,te=D(te);let ie;ie=$localize`${"\uFFFD#3\uFFFD"}:START_TAG_SH_ICON:circle-half-tilt${"[\uFFFD/#3\uFFFD|\uFFFD/#5\uFFFD]"}:CLOSE_TAG_SH_ICON: Test phase ${"\uFFFD#4\uFFFD"}:START_TAG_DIV:${"\uFFFD#5\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#3\uFFFD|\uFFFD/#5\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_DIV:`,ie=D(ie);let Ee;Ee=$localize`Start: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Ce;Ce=$localize`End: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let me;me=$localize`Duration: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Oe;Oe=$localize`Verifications: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Te;Te=$localize`Warnings: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Le;Le=$localize`Errors: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let oe;oe=$localize`${"\uFFFD#26\uFFFD"}:START_TAG_SH_ICON:file-archive${"[\uFFFD/#26\uFFFD|\uFFFD/#28\uFFFD]"}:CLOSE_TAG_SH_ICON: Compact phase ${"\uFFFD#27\uFFFD"}:START_TAG_DIV:${"\uFFFD#28\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#26\uFFFD|\uFFFD/#28\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#27\uFFFD"}:CLOSE_TAG_DIV:`,oe=D(oe);let Se;Se=$localize`Start: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Ae;Ae=$localize`End: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Ne;Ne=$localize`Duration: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Ge;Ge=$localize` Deleted files: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let Pe;Pe=$localize` Downloaded files: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let De;De=$localize` Uploaded files: ${"\uFFFD0\uFFFD"}:INTERPOLATION: (${"\uFFFD1\uFFFD"}:INTERPOLATION_1:) `;let Me;Me=$localize`Warnings: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let Re;Re=$localize`Errors: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let ae;return ae=$localize`${"\uFFFD#3\uFFFD"}:START_TAG_SH_ICON:warning-circle${"[\uFFFD/#3\uFFFD|\uFFFD/#5\uFFFD]"}:CLOSE_TAG_SH_ICON: Verifications ${"\uFFFD0\uFFFD"}:INTERPOLATION: ${"\uFFFD#4\uFFFD"}:START_TAG_DIV:${"\uFFFD#5\uFFFD"}:START_TAG_SH_ICON_1:caret-down${"[\uFFFD/#3\uFFFD|\uFFFD/#5\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_DIV:`,ae=D(ae),[t,e,o,r,p,v,y,j,J,q,Q,Y,O,ne,te,ie,Ee,Ce,me,Oe,Te,Le,oe,Se,Ae,Ne,Ge,Pe,De,Me,Re,ae,[1,"indeterminate","primary"],[1,"log-entry"],[3,"click"],[1,"status","error"],[1,"status","warn"],[1,"status"],[1,"spacer"],[1,"action"],[1,"toggle-indicator"],[1,"log-content"],[3,"disallowToggle"],["title",""],["content",""],[1,"extra-info"],["name","details"],[1,"actions"],[1,"content"],["shButton","",1,"small"]]},template:function(e,o){e&1&&(C(0,He,1,0,"sh-progress-bar",32),b(1,an,16,10,"article",33,x)),e&2&&(m(o.resource.isLoading()?0:-1),l(),k(o.resource.value()))},dependencies:[ze,be,Fe,se,W,Z,H,ee,re],styles:["[_nghost-%COMP%]{display:block}.log-entry[_ngcontent-%COMP%]{display:flex;flex-direction:column;cursor:pointer}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:1rem;border-bottom:1px solid var(--base-4);background-color:var(--base-1);cursor:pointer}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%]:hover{background-color:var(--base-2)}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font:var(--paragraph-30);margin:0}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font:var(--paragraph-30);color:var(--base-8)}.toggle-indicator[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;height:1.25rem;transition:transform 125ms linear}.toggle-indicator.open[_ngcontent-%COMP%]{transform:rotate(180deg)}details[_ngcontent-%COMP%]{display:flex;flex-direction:column}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]{cursor:pointer;display:flex;align-items:center;gap:.5rem;padding:.75rem;border-radius:var(--shape-2);background-color:var(--base-2)}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]:focus{outline:none}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]:hover{background-color:var(--base-3)}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]::marker{font-size:0}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;flex:1 0;gap:.5rem;-webkit-user-select:none;user-select:none}details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;height:2rem;transition:transform 125ms linear}details[open][_ngcontent-%COMP%] summary[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{transform:rotate(180deg)}details[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:.75rem 1rem 0;display:flex;flex-direction:column;gap:.75rem}details[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0}details[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{margin-top:.75rem;position:relative}details[_ngcontent-%COMP%] code[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{position:absolute;top:.75rem;right:.75rem}.extra-info[_ngcontent-%COMP%]{grid-column:1/-1;display:flex;flex-direction:column;gap:1rem}.extra-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.extra-info[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{white-space:pre-wrap;padding:1rem;display:block;border-radius:var(--shape-2);background-color:var(--base-2)}.log-content[_ngcontent-%COMP%]{padding:1rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem}.status[_ngcontent-%COMP%]{display:block;width:1rem;height:1rem;background-color:var(--success-8);border-radius:50%}.status.error[_ngcontent-%COMP%]{background-color:var(--error-8)}.status.warn[_ngcontent-%COMP%]{background-color:var(--warn-8)}"],changeDetection:0})};function ln(n,t){n&1&&s(0,"sh-progress-bar",1)}function _n(n,t){n&1&&(L(0,0,1),s(1,"sh-icon"),S())}function rn(n,t){n&1&&(L(0,0,2),s(1,"sh-icon"),S())}function sn(n,t){if(n&1){let e=U();a(0,"section",6)(1,"button",7),$("click",function(){M(e);let r=E(),p=r.$implicit,v=r.$index,y=E();return R(y.copyToClipboard(p.data,v))}),L(2,0),C(3,_n,2,0)(4,rn,2,0),S(),i(),a(5,"code"),g(6),c(7,"json"),i()()}if(n&2){let e=E(),o=e.$implicit,r=e.$index,p=E();l(),f("success",p.copiedFromIndex()===r),l(2),m(p.copiedFromIndex()===r?3:4),l(3),K(T(7,4,o.data))}}function Fn(n,t){if(n&1){let e=U();a(0,"article",2)(1,"header",3),$("click",function(){let r=M(e).$implicit,p=E();return R(p.toggleOpenEntry(r.id))}),a(2,"h3"),g(3),c(4,"date"),i(),a(5,"div",4)(6,"sh-icon",5),g(7,"caret-down"),i()()(),C(8,sn,8,6,"section",6),i()}if(n&2){let e=t.$implicit,o=E();l(3),fe("",A(4,6,e.timestamp,"medium"),": ",e.operation," ",e.path),l(3),f("open",e.id===o.openEntry()),l(2),m(e.id===o.openEntry()?8:-1)}}var pe=class n{#e=B(ue);backupId=_e.required();openEntry=P(null);pagination=P({offset:0,pagesize:100});copiedFromIndex=P(null);resource=de({params:()=>le({id:this.backupId()},this.pagination()),stream:({params:t})=>this.#e.getApiV1BackupByIdRemotelog({id:t.id,pagesize:100}).pipe(X(e=>e.map((o,r)=>({id:o.ID,operationId:o.OperationID,timestamp:o.Timestamp*1e3,operation:o.Operation,path:o.Path,data:typeof o.Data=="string"?JSON.parse(o.Data):null}))))});toggleOpenEntry(t){if(this.openEntry()===t){this.openEntry.set(null);return}this.openEntry.set(t)}copyToClipboard(t,e){let o=JSON.stringify(t,null,2);navigator.clipboard.writeText(o),this.copiedFromIndex.set(e),setTimeout(()=>{this.copiedFromIndex.set(null)},3e3)}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=z({type:n,selectors:[["app-remote-log"]],inputs:{backupId:[1,"backupId"]},decls:3,vars:1,consts:()=>{let t;return t=$localize`${"\uFFFD*3:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:check${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Copied ${"\uFFFD/*3:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*4:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:copy${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Copy to clipboard ${"\uFFFD/*4:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,t=D(t),[t,[1,"indeterminate","primary"],[1,"log-entry"],[3,"click"],[1,"actions"],[1,"toggle-indicator"],[1,"log-content"],["shButton","",1,"small",3,"click"]]},template:function(e,o){e&1&&(C(0,ln,1,0,"sh-progress-bar",1),b(1,Fn,9,9,"article",2,x)),e&2&&(m(o.resource.isLoading()?0:-1),l(),k(o.resource.value()))},dependencies:[Fe,W,re,H],styles:["[_nghost-%COMP%]{display:block}.log-entry[_ngcontent-%COMP%]{display:flex;flex-direction:column}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:1rem;border-bottom:1px solid var(--base-4);background-color:var(--base-1);cursor:pointer}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%]:hover{background-color:var(--base-2)}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font:var(--paragraph-30);margin:0;-webkit-user-select:none;user-select:none}.log-entry[_ngcontent-%COMP%] header[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font:var(--paragraph-30);color:var(--base-8)}.toggle-indicator[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;height:1.25rem;transition:transform 125ms linear}.toggle-indicator.open[_ngcontent-%COMP%]{transform:rotate(180deg)}.log-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:1rem;position:relative}.log-content[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{position:absolute;top:2rem;right:2rem;background:transparent}code[_ngcontent-%COMP%]{white-space:pre-wrap;padding:1rem;display:block;border-radius:var(--shape-2);background-color:var(--base-2)}"],changeDetection:0})};function un(n,t){if(n&1&&(g(0," - "),N(1),_(2,6),G(),g(3),c(4,"durationFormat")),n&2){E(2);let e=V(6);l(3),I(" ",T(4,1,e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.LastBackupDuration)," ")}}function dn(n,t){n&1&&(N(0),_(1,7),G())}function cn(n,t){if(n&1&&(g(0),c(1,"bytes")),n&2){E(2);let e=V(6);I(" ",T(1,1,e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.SourceFilesSize)," ")}}function pn(n,t){n&1&&(N(0),_(1,8),G())}function gn(n,t){if(n&1&&(g(0),c(1,"bytes")),n&2){E(2);let e=V(6);I(" ",T(1,1,e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.TargetFilesSize)," ")}}function En(n,t){n&1&&(N(0),_(1,9),G())}function Cn(n,t){if(n&1&&(a(0,"sh-chip",19),_(1,10),i()),n&2){E(2);let e=V(6);l(),u(e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.BackupListCount),d(1)}}function mn(n,t){n&1&&(a(0,"sh-chip",20),_(1,11),i())}function On(n,t){if(n&1&&(a(0,"div",14)(1,"div",18)(2,"h3"),g(3),a(4,"sh-icon"),g(5,"database"),i()(),a(6,"p")(7,"span"),_(8,3),i(),g(9),c(10,"date"),C(11,un,5,3)(12,dn,2,0,"ng-container"),i(),a(13,"p")(14,"span"),_(15,4),i(),C(16,cn,2,3)(17,pn,2,0,"ng-container"),i(),a(18,"p")(19,"span"),_(20,5),i(),C(21,gn,2,3)(22,En,2,0,"ng-container"),i()(),C(23,Cn,2,1,"sh-chip",19)(24,mn,2,0,"sh-chip",20),i()),n&2){let e=E(),o=V(6);l(3),I(" ",(o.Backup==null?null:o.Backup.Name)??e.MISSING_BACKUP_NAME," "),l(6),I(" ",A(10,6,o.Backup==null||o.Backup.Metadata==null?null:o.Backup.Metadata.LastBackupDate,"short")," "),l(2),m(!(o.Backup==null||o.Backup.Metadata==null)&&o.Backup.Metadata.LastBackupDuration?11:12),l(5),m(!(o.Backup==null||o.Backup.Metadata==null)&&o.Backup.Metadata.SourceFilesSize?16:17),l(5),m(!(o.Backup==null||o.Backup.Metadata==null)&&o.Backup.Metadata.TargetFilesSize?21:22),l(2),m(!(o.Backup==null||o.Backup.Metadata==null)&&o.Backup.Metadata.BackupListCount?23:24)}}function Tn(n,t){if(n&1&&s(0,"app-general-log",17),n&2){let e=E();w("backupId",e.backupId())}}function Ln(n,t){if(n&1&&s(0,"app-remote-log",17),n&2){let e=E();w("backupId",e.backupId())}}var ge=class n{#e=B(ye);#n=B(Ue);MISSING_BACKUP_NAME=$localize`Backup name missing`;activeTab=P("general");backupId=Xe(this.#e.params.pipe(X(t=>t.id)));backup=ve(()=>{let t=this.backupId();return t?this.#n.getBackupById(t):null});static \u0275fac=function(e){return new(e||n)};static \u0275cmp=z({type:n,selectors:[["app-log"]],decls:15,vars:8,consts:()=>{let t;t=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SH_ICON: Back `;let e;e=$localize`General`;let o;o=$localize` Destination `;let r;r=$localize`Last successful backup:`;let p;p=$localize`Source:`;let v;v=$localize`Destination:`;let y;y=$localize`took`;let j;j=$localize`N/A`;let J;J=$localize`N/A`;let q;q=$localize`N/A`;let Q;Q=$localize`${"\uFFFD0\uFFFD"}:INTERPOLATION: Version`;let Y;return Y=$localize`No version yet`,[t,e,o,r,p,v,y,j,J,q,Q,Y,[1,"back"],["type","button","shButton","","routerLink","/",1,"small"],[1,"backup"],[1,"primary"],["tab","",3,"click"],[3,"backupId"],[1,"text"],[1,"simple","success"],[1,"simple"]]},template:function(e,o){if(e&1){let r=U();s(0,"app-status-bar"),a(1,"section")(2,"div",12)(3,"button",13),L(4,0),s(5,"sh-icon"),S(),i()(),Ie(6),C(7,On,25,9,"div",14),a(8,"sh-tabs",15)(9,"button",16),$("click",function(){return M(r),R(o.activeTab.set("general"))}),_(10,1),i(),a(11,"button",16),$("click",function(){return M(r),R(o.activeTab.set("destination"))}),_(12,2),i()(),C(13,Tn,1,1,"app-general-log",17),C(14,Ln,1,1,"app-remote-log",17),i()}if(e&2){l(6);let r=he(o.backup());l(),m(r?7:-1),l(2),f("active",o.activeTab()==="general"),l(2),f("active",o.activeTab()==="destination"),l(2),m(o.activeTab()==="general"?13:-1),l(),m(o.activeTab()==="destination"?14:-1)}},dependencies:[ke,ce,pe,Be,Ke,W,se,xe,Z,ee,H],styles:["[_nghost-%COMP%]{display:block}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:1rem 1.5rem;gap:1rem}sh-tabs[_ngcontent-%COMP%]{margin-bottom:1rem}.backup[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:2rem;gap:1rem;border:1px solid var(--base-4);border-radius:var(--shape-3);box-shadow:var(--box-shadow-10)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:40%}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{color:var(--base-8)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font:var(--paragraph-30);color:var(--base-8)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] p[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:var(--base-12)}"],changeDetection:0})};export{ge as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-EUDKD2JW.js";var o=[{path:"",redirectTo:"general",pathMatch:"full"},{path:"general",loadComponent:()=>import("./chunk-X6QMUQPK.js")},{path:"destination",loadComponent:()=>import("./chunk-JA5QSJM3.js")},{path:"source-data",loadComponent:()=>import("./chunk-GXARFIQG.js")},{path:"schedule",loadComponent:()=>import("./chunk-OAW2NFZX.js")},{path:"options",loadComponent:()=>import("./chunk-LAUG2PZW.js")}];export{o as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as W}from"./chunk-VC6TE2B6.js";import"./chunk-5SPGCYAQ.js";import{a as z}from"./chunk-JB75BUPF.js";import"./chunk-P2DII6CV.js";import"./chunk-GUH5TMOS.js";import"./chunk-RHW5QVAY.js";import"./chunk-OWAZS6AA.js";import"./chunk-CWBEE627.js";import"./chunk-USU2EHJV.js";import"./chunk-47WDRGVN.js";import"./chunk-4URGDROZ.js";import{e as S}from"./chunk-L2EO4M4B.js";import"./chunk-4YL5DZVH.js";import{a as g,g as E,h as R,k as G,p as w}from"./chunk-WRNQOX5R.js";import{h as X}from"./chunk-QM6X5ZEC.js";import"./chunk-B5FUQFEQ.js";import"./chunk-WJPLJKPQ.js";import"./chunk-FPPZ4BUR.js";import"./chunk-73RDJP55.js";import{Ab as t,Ac as v,Bb as i,Cb as s,Gb as D,Hb as y,Qb as A,Ra as a,Rb as I,Sb as l,Tb as b,Ub as B,Yb as d,_ as u,bb as O,hb as h,lc as r,oc as L,rb as M,sb as k,ub as F,vb as P,wb as N,xb as x,yb as $,zb as _,zc as m}from"./chunk-QDFCX6XE.js";import"./chunk-EUDKD2JW.js";var j=()=>[R,E,g,S],H=()=>["/restore-from-files"],q=()=>["/restore/from-config"],V=n=>["/restore",n];function J(n,o){if(n&1&&(t(0,"sh-card",5),s(1,"img",10),t(2,"div",7)(3,"h3"),l(4,1),i(),t(5,"p"),r(6),i()(),t(7,"button",8),A(8,2),s(9,"sh-icon"),I(),i()()),n&2){let e=o.$implicit;a(4),b((e.Backup==null?null:e.Backup.Name)??"Backup name missing"),B(4),a(2),L(" ",(e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.SourceSizeString)??"-"," / ",(e.Backup==null||e.Backup.Metadata==null?null:e.Backup.Metadata.BackupListCount)??"-"," "),a(),_("routerLink",v(4,V,e.Backup==null?null:e.Backup.ID))}}function K(n,o){if(n&1&&x(0,J,10,6,"sh-card",5,N),n&2){let e=d(2);$(e.backups())}}function Q(n,o){n&1&&(D(0),l(1,3),y())}function U(n,o){if(n&1&&F(0,K,2,0)(1,Q,2,0,"ng-container"),n&2){let e=d();P(e.backups().length?0:1)}}function Y(n,o){n&1&&(t(0,"div",11),s(1,"sh-progress-bar",12),t(2,"div",7)(3,"h3"),l(4,4),i()()())}var f=class n{#e=u(z);#t=u(X);backups=this.#e.backups;backupsLoading=this.#e.backupsLoading;ngOnInit(){this.#e.getBackups(!0)}restoreNow(o){this.#t.postApiV1BackupByIdRestore({id:o.Backup?.ID,requestBody:{}})}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=O({type:n,selectors:[["app-restore"]],decls:32,vars:5,consts:()=>{let o;o=$localize`Where do you want to restore from?`;let e;e=$localize`${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let c;c=$localize` Restore ${"\uFFFD#9\uFFFD"}:START_TAG_SH_ICON:arrow-right${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SH_ICON:`;let C;C=$localize`No backups founds`;let T;return T=$localize`Loading backups...`,[o,e,c,C,T,[1,"type-a"],["src","assets/images/backup.png","alt","","width","48px"],[1,"text"],["shButton","",3,"routerLink"],["src","assets/images/restore.png","alt","","width","48px"],["src","assets/images/folder.png","alt","","width","48px"],[1,"loading-list"],[1,"indeterminate","primary"]]},template:function(e,c){e&1&&(s(0,"app-status-bar"),t(1,"section")(2,"h2"),l(3,0),i(),t(4,"sh-card",5),s(5,"img",6),t(6,"div",7)(7,"h3"),r(8,"Direct restore from backup files"),i(),t(9,"p"),r(10,"Point to your backup files and restore from there."),i()(),t(11,"button",8),r(12," Start "),t(13,"sh-icon"),r(14,"play-circle"),i()()(),t(15,"sh-card",5),s(16,"img",9),t(17,"div",7)(18,"h3"),r(19,"Restore from configuration"),i(),t(20,"p"),r(21,"Load destination from an exported job or a storage provider"),i()(),t(22,"button",8),r(23," Start "),t(24,"sh-icon"),r(25,"play-circle"),i()()(),t(26,"sh-divider"),r(27,"Or existing"),i(),h(28,U,2,1)(29,Y,5,0),M(30,28,j,null,29),i()),e&2&&(a(11),_("routerLink",m(3,H)),a(11),_("routerLink",m(4,q)),a(8),k(!c.backupsLoading()))},dependencies:[W,R,E,G,g,w,S],styles:["[_nghost-%COMP%]{display:block}h2[_ngcontent-%COMP%]{font:var(--title-30);text-align:center;padding:2rem}section[_ngcontent-%COMP%]{max-width:43.75rem;margin:0 auto;padding:2rem 1rem;display:flex;flex-direction:column;gap:1rem}sh-divider[_ngcontent-%COMP%]{color:var(--base-8)}sh-card[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;--card-padding: 2rem}sh-card[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{flex:1 0;display:flex;flex-direction:column;gap:.25rem}"],changeDetection:0})};export{f as default};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{a as Ee}from"./chunk-UV3WAAEX.js";import"./chunk-CZLLEVMJ.js";import{a as fe}from"./chunk-VC6TE2B6.js";import{h as O}from"./chunk-LIJJPCCP.js";import"./chunk-BVEALUGN.js";import{a as Se}from"./chunk-UACX27D3.js";import"./chunk-VC72SWC4.js";import{b as T}from"./chunk-QGFC5ZUR.js";import{a as se}from"./chunk-5SPGCYAQ.js";import"./chunk-JB75BUPF.js";import"./chunk-P2DII6CV.js";import"./chunk-GUH5TMOS.js";import"./chunk-RHW5QVAY.js";import"./chunk-OWAZS6AA.js";import"./chunk-CWBEE627.js";import{c as le,e as me,f as de,j as _e,n as ce,o as ue,p as pe,q as Ce,r as ge,s as Ne,t as Me}from"./chunk-USU2EHJV.js";import"./chunk-47WDRGVN.js";import"./chunk-4URGDROZ.js";import{b as q,d as Z,e as J}from"./chunk-L2EO4M4B.js";import"./chunk-4YL5DZVH.js";import{a as Q,e as Y,g as ee,k as te,l as ne,p as ie,t as oe}from"./chunk-WRNQOX5R.js";import{g as ae,h as re}from"./chunk-QM6X5ZEC.js";import"./chunk-B5FUQFEQ.js";import"./chunk-WJPLJKPQ.js";import"./chunk-FPPZ4BUR.js";import"./chunk-73RDJP55.js";import{Ab as a,Bb as n,Cb as r,Gb as A,Hb as h,Jb as v,Pc as j,Qb as N,Ra as m,Rb as M,Sb as u,Tb as G,Ub as U,Wb as x,Yb as f,_ as c,bb as $,ea as S,fa as E,ic as w,oa as F,qc as K,rc as X,sc as z,ub as b,vb as B,wb as k,xb as R,xc as V,yb as y,yc as H,zb as C,zc as W}from"./chunk-QDFCX6XE.js";import"./chunk-EUDKD2JW.js";var Fe=()=>["backup"];function Ae(s,t){s&1&&r(0,"sh-progress-bar",12)}function he(s,t){if(s&1&&(a(0,"sh-form-field"),r(1,"input",32),n()),s&2){let e=t.$implicit,l=t.$index;m(),C("id",V("filter-",l))("formControl",e)}}function Te(s,t){if(s&1){let e=v();a(0,"form",13)(1,"sh-select",14)(2,"label",15),u(3,1),n(),r(4,"input",16),n(),a(5,"sh-form-field")(6,"label",17),u(7,2),n(),r(8,"textarea",18),n(),a(9,"sh-form-field")(10,"label",19),u(11,3),n(),r(12,"textarea",20),n()(),a(13,"sh-divider"),u(14,4),n(),a(15,"form",13)(16,"sh-form-field")(17,"label",21),u(18,5),n(),r(19,"input",22),n(),a(20,"sh-form-field")(21,"label",23),u(22,6),n(),r(23,"input",24),n(),a(24,"app-toggle-card",25),A(25,26),u(26,7),h(),A(27,27),R(28,he,2,3,"sh-form-field",null,k),h(),n()(),a(30,"p"),N(31,8),r(32,"a",28),M(),n(),a(33,"app-options-list",29),z("optionsChange",function(o){S(e);let p=f();return X(p.settings,o)||(p.settings=o),E(o)}),n(),a(34,"div",30)(35,"button",31),x("click",function(){S(e);let o=f();return E(o.submit())}),N(36,9),r(37,"sh-icon"),M(),n()()}if(s&2){let e=f();C("formGroup",e.baseCmdForm),m(),C("options",e.commandOptions()??W(10,Fe))("inlineSearch",!0),m(14),C("formGroup",e.standardFields),m(9),C("disallowToggle",!0),m(4),y(e.standardFields.controls.filters.controls),m(5),K("options",e.settings),C("hasFreeTextSettings",!0),m(2),w("loader",e.isSubmitting()),m(2),G(e.baseCmdForm.value.command),U(36)}}var d=new ge,Oe=["Bytes","KB","MB","GB","TB","PB"],P=class s{#e=c(O);#t=c(re);#n=c(Z);#i=c(q);#o=c(ae);#a=c(se);#l=c(Y);#r=T(this.#i.params);commandOptions=T(this.#o.getApiV1Commandline());sizeOptions=F(Oe);isSubmitting=F(!1);optionsFields=this.#e.optionsFields;standardFields=d.group({"backup-id":d.control(""),"backup-name":d.control(""),dbpath:d.control(""),filters:d.array([])});baseCmdForm=d.group({command:d.control("backup"),targetUrl:d.control(""),arguments:d.control("")});finishedLoading=this.#e.finishedLoading;backupId=this.#e.backupId;settings=this.#e.settings;#m=j(()=>{let t=this.#r()?.id;this.#e.backupId.set(t),this.getBackup(t)});getBackup(t){this.#t.getApiV1BackupById({id:t}).subscribe({next:e=>{this.#e.mapScheduleToForm(e.Schedule??null),e.Backup&&(this.#e.mapGeneralToForm(e.Backup),this.mapStandardFieldsToForm(e.Backup),this.mapBaseCmdToForm(e.Backup),this.#e.mapOptionsToForms(e.Backup)),this.#e.finishedLoading.set(!0)}})}mapStandardFieldsToForm(t){this.standardFields.patchValue({dbpath:t.DBPath,"backup-id":t.ID,"backup-name":t.Name}),t.Filters&&t.Filters.length&&t.Filters.map(e=>{this.standardFields.controls.filters.push(d.control(`${e.Include?"":"-"}${e.Expression}`))})}submit(){this.#a.resumeDialogCheck(()=>this.#s())}#s(){this.isSubmitting.set(!0);let t=this.baseCmdForm.value,e=t.targetUrl??"",l=t.arguments?.split(`
|
|
2
|
+
`).filter(i=>i.length>0)??[],o=this.standardFields.value,p=o.filters??[],g=[t.command,e,...l,`--backup-name=${o["backup-name"]}`,`--dbpath=${o.dbpath}`,`--backup-id=${o["backup-id"]}`,...p.filter(i=>i).map(i=>i.startsWith("-")?`--exclude=${i?.slice(1)}`:`--include=${i}`),...this.#e.mapFormsToSettings(["backup-id","backup-name","dbpath"]).map(i=>`${i.Name.startsWith("--")?"":"--"}${i.Name}=${i.Value}`),"--disable-module=console-password-input"];this.#t.postApiV1Commandline({requestBody:g}).subscribe(i=>{i.Status==="OK"&&this.#n.navigate(["backup",this.backupId(),"commandline",i.ID])})}mapBaseCmdToForm(t){let e=t.TargetURL??null;e&&this.baseCmdForm.patchValue({targetUrl:e??"",arguments:t.Sources?.join(`
|
|
3
|
+
`)??""})}static \u0275fac=function(e){return new(e||s)};static \u0275cmp=$({type:s,selectors:[["app-commandline"]],features:[H([O])],decls:8,vars:1,consts:()=>{let t;t=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SH_ICON: Back `;let e;e=$localize`Command`;let l;l=$localize`TargetUrl`;let o;o=$localize`Commandline Arguments`;let p;p=$localize`Advanced options`;let g;g=$localize`Backup ID`;let i;i=$localize`Backup Name`;let I;I=$localize`Filters`;let D;D=$localize` The backups will be split up into multiple files called volumes. Here you can set the maximum size of the individual volume files. ${"\uFFFD#32\uFFFD"}:START_LINK:Read more${"\uFFFD/#32\uFFFD"}:CLOSE_LINK:`;let L;return L=$localize`${"\uFFFD#37\uFFFD"}:START_TAG_SH_ICON:arrow-right${"\uFFFD/#37\uFFFD"}:CLOSE_TAG_SH_ICON: Run "${"\uFFFD0\uFFFD"}:INTERPOLATION:" command now `,[t,e,l,o,p,g,i,I,D,L,[1,"back"],["type","button","shButton","","routerLink","/",1,"small"],[1,"indeterminate","primary"],[3,"formGroup"],["placeholder","Select a command...",3,"options","inlineSearch"],["for","command"],["type","text","id","command","formControlName","command"],["for","targetUrl"],["id","targetUrl","autocomplete","off","formControlName","targetUrl"],["for","arguments"],["id","arguments","autocomplete","off","formControlName","arguments"],["for","backup-id"],["id","backup-id","formControlName","backup-id"],["for","backup-name"],["id","backup-name","formControlName","backup-name"],[3,"disallowToggle"],["title",""],["content","","formGroupName","filters"],["href","#",1,"sh-primary"],[3,"optionsChange","options","hasFreeTextSettings"],[1,"form-actions"],["shButton","",1,"raised","primary",3,"click"],[3,"id","formControl"]]},template:function(e,l){e&1&&(r(0,"app-status-bar"),a(1,"section")(2,"div",10)(3,"button",11),N(4,0),r(5,"sh-icon"),M(),n()(),b(6,Ae,1,0,"sh-progress-bar",12)(7,Te,38,11),n()),e&2&&(m(6),B(l.finishedLoading()?7:6))},dependencies:[Ne,_e,le,me,de,fe,Ee,Se,Me,ce,ue,Ce,pe,J,ne,ee,te,oe,ie,Q],styles:["[_nghost-%COMP%]{display:block}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;max-width:40rem;padding:2.5rem;gap:1.25rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end}.row-inputs[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.row-inputs[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1 0}"],changeDetection:0})};export{P as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function l(c,o){o=encodeURIComponent(o);for(let e of c.split(";")){let n=e.indexOf("="),[t,s]=n==-1?[e,""]:[e.slice(0,n),e.slice(n+1)];if(t.trim()===o)return decodeURIComponent(s)}return null}var i=class{};export{l as a,i as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as Re,c as we,d as v}from"./chunk-VC72SWC4.js";import{b as Oe}from"./chunk-QGFC5ZUR.js";import{a as ue}from"./chunk-JB75BUPF.js";import"./chunk-P2DII6CV.js";import"./chunk-RHW5QVAY.js";import"./chunk-OWAZS6AA.js";import{b as Te,c as Ce,d as S,e as Pe,f as me,j as Ee,o as ge,q as Se,r as he,t as fe}from"./chunk-USU2EHJV.js";import"./chunk-47WDRGVN.js";import"./chunk-4URGDROZ.js";import{b as te,d as ne,e as ie}from"./chunk-L2EO4M4B.js";import"./chunk-4YL5DZVH.js";import{A as pe,C as Fe,a as re,b as se,f as ae,g as le,l as _e,p as ce}from"./chunk-WRNQOX5R.js";import{c as oe,h as de}from"./chunk-QM6X5ZEC.js";import"./chunk-WJPLJKPQ.js";import"./chunk-FPPZ4BUR.js";import{Ab as a,Bb as r,Cb as _,H as M,Jb as I,Oc as A,P as J,Pc as b,Qb as c,Ra as s,Rb as p,Sb as E,Tb as y,Ub as X,Vb as B,Wb as g,Yb as u,_ as C,bb as W,ea as x,fa as N,ic as O,lc as $,mc as Y,oa as P,oc as Z,ub as F,vb as d,zb as m,zc as ee}from"./chunk-QDFCX6XE.js";import"./chunk-EUDKD2JW.js";var De=()=>["/"];function xe(t,o){t&1&&(a(0,"sh-toggle",23),c(1,5),_(2,"input",26),p(),r())}function Ne(t,o){t&1&&(a(0,"span",29),E(1,9),r())}function $e(t,o){if(t&1&&(a(0,"span",29),E(1,10),r()),t&2){let e=u(2);s(),y(e.exportForm.controls.password.errors==null?null:e.exportForm.controls.password.errors.minlength.requiredLength),X(1)}}function Ae(t,o){if(t&1&&_(0,"sh-progress-bar",36),t&2){let e=u(2);O("error",e.calculatePasswordStrength()===1)("warn",e.calculatePasswordStrength()===2)("primary",e.calculatePasswordStrength()===4)("success",e.calculatePasswordStrength()===5),m("value",e.calculatePasswordStrength()*(100/5))}}function Me(t,o){t&1&&(a(0,"span",29),E(1,11),r())}function Ie(t,o){t&1&&(a(0,"span",29),E(1,12),r())}function ye(t,o){if(t&1&&(a(0,"span",29),E(1,13),r()),t&2){let e=u(2);s(),y(e.exportForm.controls.repeatPassword.errors==null?null:e.exportForm.controls.repeatPassword.errors.minlength.requiredLength),X(1)}}function Xe(t,o){t&1&&(c(0,7,1),_(1,"sh-icon"),p())}function Be(t,o){t&1&&(c(0,7,2),_(1,"sh-icon"),p())}function be(t,o){t&1&&(c(0,14,1),_(1,"sh-icon",38),p())}function ve(t,o){t&1&&(c(0,14,2),_(1,"sh-icon"),p())}function Le(t,o){if(t&1){let e=I();a(0,"button",37),g("click",function(){x(e);let i=u(2);return N(i.copyPassword())}),c(1,14),F(2,be,2,0)(3,ve,2,0),p(),r()}if(t&2){let e=u(2);s(2),d(e.copiedPassword()?2:3)}}function ke(t,o){t&1&&(a(0,"sh-alert",35),E(1,15),r())}function Ge(t,o){if(t&1){let e=I();a(0,"div",24)(1,"sh-form-field")(2,"label",27),c(3,6),_(4,"sup"),p(),r(),_(5,"input",28),F(6,Ne,2,0,"span",29)(7,$e,2,1,"span",29),r(),F(8,Ae,1,9,"sh-progress-bar",30),a(9,"sh-form-field"),_(10,"input",31),F(11,Me,2,0,"span",29)(12,Ie,2,0,"span",29)(13,ye,2,1,"span",29),r(),a(14,"div",32)(15,"button",33),g("click",function(){x(e);let i=u();return N(i.showPassword.set(!i.showPassword()))}),c(16,7),F(17,Xe,2,0)(18,Be,2,0),p(),r(),a(19,"button",33),g("click",function(){x(e);let i=u();return N(i.generatePassword())}),c(20,8),_(21,"sh-icon"),p(),r(),F(22,Le,4,1,"button",34),r(),F(23,ke,2,0,"sh-alert",35),r()}if(t&2){let e=u();s(5),m("type",e.showPassword()?"text":"password"),s(),d(e.exportForm.controls.password.errors!=null&&e.exportForm.controls.password.errors.required?6:e.exportForm.controls.password.errors!=null&&e.exportForm.controls.password.errors.minlength?7:-1),s(2),d(e.exportForm.value.password?8:-1),s(2),m("type",e.showPassword()?"text":"password"),s(),d(e.exportForm.value.repeatPassword&&e.exportForm.value.repeatPassword!==e.exportForm.value.password?11:e.exportForm.controls.repeatPassword.errors!=null&&e.exportForm.controls.repeatPassword.errors.required?12:e.exportForm.controls.repeatPassword.errors!=null&&e.exportForm.controls.repeatPassword.errors.minlength?13:-1),s(6),d(e.showPassword()?17:18),s(5),d(e.showCopyPassword()?22:-1),s(),d(e.exportForm.value.password&&e.exportForm.value.password===e.exportForm.value.repeatPassword?23:-1)}}function Ue(t,o){if(t&1&&(a(0,"div",25)(1,"code"),$(2),r()()),t&2){let e=u();s(2),Y(e.exportedCmd())}}var R=new he,L=class t{#o=C(Re);#t=C(de);#e=C(te);#n=C(ne);#i=C(oe);#r=C(ue);isExporting=P(!1);exportType=P("file");exportedCmd=P(null);exportForm=R.group({exportPasswords:R.control(!0),encryption:R.control(!1,[S.required,we()]),password:R.control("",[v("encryption",!0,[S.required,S.minLength(3)])]),repeatPassword:R.control("",[v("encryption",!0,[S.required,S.minLength(3)])])});exportFormSignal=Oe(this.exportForm.valueChanges);encryptionFieldSignal=A(()=>(this.exportFormSignal()?.encryption??!1)&&this.exportType()==="file");activeBackup=A(()=>this.#r.backups().find(o=>o.Backup?.ID===this.#e.snapshot.params.id));showPassword=P(!1);copiedPassword=P(!1);showCopyPassword=P(!1);calculatePasswordStrength=A(()=>{let e=this.exportFormSignal()?.password??"";return this.#o.calculatePasswordStrength(e)});showPasswordEffect=b(()=>{this.showPassword()&&this.exportForm.updateValueAndValidity()});disablePasswordForCommandLine=b(()=>{this.exportType()==="cmd"&&this.exportForm.controls.encryption.setValue(!1)});submit(){this.isExporting.set(!0),this.exportType()==="file"?this.#t.postApiV1AuthIssuetokenByOperation({operation:"export"}).pipe(J(o=>{let e=i=>{let h=Object.entries(i);return h?"?"+h.filter(([f,T])=>T!=null).map(([f,T])=>`${encodeURIComponent(f)}=${encodeURIComponent(T)}`).join("&"):""},n=this.exportFormSignal()?.password?.length?this.exportFormSignal()?.password:void 0;return this.#i.get(`/api/v1/backup/${this.#e.snapshot.params.id}/export${e({"export-passwords":this.exportFormSignal()?.exportPasswords??void 0,passphrase:n,token:o.Token})}`,{responseType:"blob"})}),M(()=>this.isExporting.set(!1))).subscribe({next:o=>{let n=this.activeBackup()?.Backup?.Name??"Backup",i=this.exportFormSignal()?.encryption?"aes":"json";this.downloadFile(o,`${n}-duplicati-config.${i}`),this.#n.navigate(["/"])},error:o=>{}}):this.#t.getApiV1BackupByIdExportCmdline({id:this.#e.snapshot.params.id,exportPasswords:this.exportFormSignal()?.exportPasswords??void 0,passphrase:this.exportFormSignal()?.password??void 0}).pipe(M(()=>this.isExporting.set(!1))).subscribe({next:o=>{this.exportedCmd.set(o.Command??null)},error:o=>{}})}downloadFile(o,e){let n=window.URL.createObjectURL(o),i=document.createElement("a");i.href=n,i.download=e,i.click(),window.URL.revokeObjectURL(n)}async copyPassword(){let o=this.exportForm.controls.password.value;await this.#s(o??""),this.copiedPassword.set(!0)}async#s(o){try{await navigator.clipboard.writeText(o)}catch{try{let n=document.createElement("textarea");n.value=o,document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n)}catch(n){console.error("Failed to copy text: ",n)}}}generatePassword(){this.copiedPassword.set(!1);let o=this.#o.generate(16);this.exportForm.controls.password.setValue(o),this.exportForm.controls.repeatPassword.setValue(o),this.showCopyPassword.set(!0)}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=W({type:t,selectors:[["app-export"]],decls:26,vars:15,consts:()=>{let o;o=$localize`Remember to copy the password`;let e;e=$localize`${"\uFFFD#6\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#6\uFFFD"}:CLOSE_TAG_SH_ICON: Back `;let n;n=$localize`${"\uFFFD#9\uFFFD"}:START_TAG_SH_ICON:export${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SH_ICON: Export `;let i;i=$localize`${"\uFFFD#16\uFFFD"}:START_TAG_SH_ICON:terminal-window${"\uFFFD/#16\uFFFD"}:CLOSE_TAG_SH_ICON: As command line `;let h;h=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SH_ICON:file${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SH_ICON: To file `;let f;f=$localize` Export passwords ${"\uFFFD#22\uFFFD\uFFFD/#22\uFFFD"}:TAG_INPUT:`;let T;T=$localize` Encrypt file ${"\uFFFD#2\uFFFD\uFFFD/#2\uFFFD"}:TAG_INPUT:`;let k;k=$localize`Password`;let G;G=$localize`Repeat password`;let U;U=$localize` Create a password ${"\uFFFD#4\uFFFD"}:START_SUPERSCRIPT:*${"\uFFFD/#4\uFFFD"}:CLOSE_SUPERSCRIPT:`;let w;w=$localize`${"\uFFFD*17:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:eye-slash${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: hide ${"\uFFFD/*17:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*18:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:eye${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: show ${"\uFFFD/*18:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,w=B(w);let K;K=$localize`${"\uFFFD#21\uFFFD"}:START_TAG_SH_ICON:password${"\uFFFD/#21\uFFFD"}:CLOSE_TAG_SH_ICON: Generate password `;let z;z=$localize`Passwords are required`;let H;H=$localize` Passwords must be at least ${"\uFFFD0\uFFFD"}:INTERPOLATION: characters long `;let V;V=$localize`Passwords do not match`;let q;q=$localize`Passwords are required`;let j;j=$localize` Passwords must be at least ${"\uFFFD0\uFFFD"}:INTERPOLATION: characters long `;let D;D=$localize`${"\uFFFD*2:1\uFFFD"}:START_BLOCK_IF:${"\uFFFD#1:1\uFFFD"}:START_TAG_SH_ICON:check${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Copied password ${"\uFFFD/*2:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*3:2\uFFFD"}:START_BLOCK_ELSE:${"\uFFFD#1:2\uFFFD"}:START_TAG_SH_ICON_1:copy${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Copy password ${"\uFFFD/*3:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,D=B(D);let Q;return Q=$localize` Tip: Be sure to save your password. If you lose it, you will not be able to import the configuration. `,[e,n,i,h,f,T,U,w,K,z,H,V,q,j,D,Q,[1,"actions"],["shButton","",1,"outlined",3,"routerLink"],["shButton","","shTooltip",o,1,"raised","primary",3,"click","disabled"],["autocomplete","off",3,"formGroup"],["type","button",3,"click"],[1,"raised","primary"],["type","checkbox","formControlName","exportPasswords"],[1,"primary","raised"],[1,"passwords"],[1,"cmd-output"],["type","checkbox","formControlName","encryption"],["for","password"],["id","password","tabindex","4","autocomplete","off","placeholder",k,"formControlName","password",3,"type"],["error",""],[1,"raised",3,"error","warn","primary","success","value"],["id","repeatPassword","tabindex","5","autocomplete","off","placeholder",G,"formControlName","repeatPassword",3,"type"],[1,"password-actions"],["shButton","","type","button",1,"small",3,"click"],["shButton","","type","button",1,"small","copy"],[1,"primary"],[1,"raised",3,"value"],["shButton","","type","button",1,"small","copy",3,"click"],[1,"sh-success"]]},template:function(e,n){if(e&1&&(a(0,"header")(1,"h3"),$(2," Export backup configuration "),a(3,"div",16)(4,"button",17),c(5,0),_(6,"sh-icon"),p(),r(),a(7,"button",18),g("click",function(){return n.submit()}),c(8,1),_(9,"sh-icon"),p(),r()()(),a(10,"p"),$(11),r()(),a(12,"form",19)(13,"sh-button-group")(14,"button",20),g("click",function(){return n.exportType.set("cmd")}),c(15,2),_(16,"sh-icon"),p(),r(),a(17,"button",20),g("click",function(){return n.exportType.set("file")}),c(18,3),_(19,"sh-icon"),p(),r()(),a(20,"sh-toggle",21),c(21,4),_(22,"input",22),p(),r(),F(23,xe,3,0,"sh-toggle",23),F(24,Ge,24,8,"div",24),F(25,Ue,3,1,"div",25),r()),e&2){let i;s(4),m("routerLink",ee(14,De)),s(3),O("loading",n.isExporting()),m("disabled",n.exportForm.invalid||n.showCopyPassword()&&!n.copiedPassword()||n.encryptionFieldSignal()&&n.exportForm.value.repeatPassword!==n.exportForm.value.password),s(4),Z("#",(i=n.activeBackup())==null||i.Backup==null?null:i.Backup.ID,": ",(i=n.activeBackup())==null||i.Backup==null?null:i.Backup.Name),s(),m("formGroup",n.exportForm),s(2),O("active",n.exportType()==="cmd"),s(3),O("active",n.exportType()==="file"),s(6),d(n.exportType()==="file"?23:-1),s(),d(n.encryptionFieldSignal()?24:-1),s(),d(n.exportedCmd()?25:-1)}},dependencies:[fe,Ee,Ce,Te,Pe,me,ge,Se,ie,ae,pe,re,_e,le,se,ce,Fe],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:2rem;padding:3rem}h3[_ngcontent-%COMP%]{font:var(--title-30);display:flex;align-items:center;justify-content:space-between}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;max-width:31.25rem}.passwords[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.password-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:center}.copy[_ngcontent-%COMP%] sh-icon.sh-success[_ngcontent-%COMP%]{color:var(--success-8)}.hide[_ngcontent-%COMP%]{display:none}"],changeDetection:0})};export{L as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Db as o,Eb as i,Jb as C,Oc as D,Ra as n,Tc as E,Uc as T,Xb as g,Yb as l,bb as x,ea as _,fa as u,lc as r,mc as m,ub as d,vb as s}from"./chunk-QDFCX6XE.js";import{a as p}from"./chunk-EUDKD2JW.js";function v(e,a){if(e&1&&(o(0,"p"),r(1),i()),e&2){let t=l();n(),m(t._data().message)}}function b(e,a){if(e&1){let t=C();o(0,"button",5),g("click",function(){_(t);let f=l();return u(f.close("cancel"))}),r(1),i()}if(e&2){let t=l();n(),m(t._data().cancelText)}}function y(e,a){if(e&1){let t=C();o(0,"button",6),g("click",function(){_(t);let f=l();return u(f.close("confirm"))}),r(1),i()}if(e&2){let t=l();n(),m(t._data().confirmText)}}var k={title:$localize`Are you sure?`,confirmText:void 0,cancelText:$localize`Cancel`},h=class e{data=T();_data=D(()=>p(p({},k),this.data()));closed=E();close(a="confirm"){this.closed.emit(a==="confirm")}static \u0275fac=function(t){return new(t||e)};static \u0275cmp=x({type:e,selectors:[["app-confirm-dialog"]],inputs:{data:[1,"data"]},outputs:{closed:"closed"},decls:8,vars:4,consts:[["header",""],["content",""],["footer",""],["shButton","",1,""],["shButton","",1,"raised","primary"],["shButton","",1,"",3,"click"],["shButton","",1,"raised","primary",3,"click"]],template:function(t,c){t&1&&(o(0,"header",0)(1,"h3"),r(2),i()(),o(3,"div",1),d(4,v,2,1,"p"),i(),o(5,"footer",2),d(6,b,2,1,"button",3),d(7,y,2,1,"button",4),i()),t&2&&(n(2),m(c._data().title),n(2),s(c._data().message?4:-1),n(2),s(c._data().cancelText?6:-1),n(),s(c._data().confirmText?7:-1))},styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0})};export{h as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{f as a,g as b}from"./chunk-LIJJPCCP.js";import"./chunk-BVEALUGN.js";import"./chunk-UACX27D3.js";import"./chunk-VC72SWC4.js";import"./chunk-QGFC5ZUR.js";import"./chunk-GUH5TMOS.js";import"./chunk-RHW5QVAY.js";import"./chunk-OWAZS6AA.js";import"./chunk-USU2EHJV.js";import"./chunk-L2EO4M4B.js";import"./chunk-4YL5DZVH.js";import"./chunk-WRNQOX5R.js";import"./chunk-QM6X5ZEC.js";import"./chunk-WJPLJKPQ.js";import"./chunk-FPPZ4BUR.js";import"./chunk-QDFCX6XE.js";import"./chunk-EUDKD2JW.js";export{a as createSourceDataForm,b as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as Re,b as $e}from"./chunk-WEAHBXR2.js";import{a as ve}from"./chunk-QC2NBFUR.js";import{a as k}from"./chunk-PWV3UKIW.js";import"./chunk-5SPGCYAQ.js";import{a as Ee}from"./chunk-JB75BUPF.js";import"./chunk-P2DII6CV.js";import"./chunk-GUH5TMOS.js";import"./chunk-RHW5QVAY.js";import"./chunk-OWAZS6AA.js";import"./chunk-CWBEE627.js";import{a as Le}from"./chunk-7AMBMWZP.js";import{c as fe,d as Oe,e as Pe,i as De,r as Ne,s as Me,t as Ie}from"./chunk-USU2EHJV.js";import"./chunk-47WDRGVN.js";import{b as pe,d as Te}from"./chunk-4URGDROZ.js";import{c as ce,e as ue,f as de}from"./chunk-L2EO4M4B.js";import"./chunk-4YL5DZVH.js";import{C as Ce,a as I,b as G,c as Se,e as ge,g as w,k as he,l as Fe,n as me,u as Ae}from"./chunk-WRNQOX5R.js";import{h as x}from"./chunk-QM6X5ZEC.js";import"./chunk-WJPLJKPQ.js";import"./chunk-FPPZ4BUR.js";import{Ab as s,Bb as i,Cb as l,H as V,Jb as E,Oc as re,Pc as Q,Qb as u,Ra as r,Rb as d,Sb as O,Tc as le,Vb as $,Vc as _e,Wb as g,Xc as K,Yb as c,_ as F,bb as M,ea as m,ec as ne,fa as A,fc as oe,ic as H,kc as v,lc as h,mc as X,nc as z,oa as T,qc as W,rc as q,sc as j,tc as ie,ub as p,uc as se,vb as S,vc as b,wb as Z,xb as ee,yb as te,zb as P,zc as ae}from"./chunk-QDFCX6XE.js";import{a as B,b as Y}from"./chunk-EUDKD2JW.js";var Ge=["scroller"];function we(n,o){n&1&&(s(0,"sh-icon"),h(1,"bell-ringing"),i())}function xe(n,o){n&1&&(s(0,"sh-icon"),h(1,"bell"),i())}function ke(n,o){if(n&1&&l(0,"app-notification",8),n&2){c(2);let e=b(6);P("index",0)("notification",e.content)}}function Ue(n,o){if(n&1&&(s(0,"div",11),h(1),i()),n&2){c(3);let e=b(6);r(),z(" ",e.content.content," ")}}function Be(n,o){if(n&1&&(s(0,"sh-alert")(1,"div",10),h(2),i(),p(3,Ue,2,1,"div",11),i()),n&2){c(2);let e=b(6);v(e.content.type||"error"),r(2),X(e.content.title),r(),S(e.content.content?3:-1)}}function Ye(n,o){if(n&1&&(s(0,"div",6),p(1,ke,1,2,"app-notification",8)(2,Be,4,4,"sh-alert",9),i()),n&2){c();let e=b(6);r(),S(e.type==="notification"?1:2)}}function Ve(n,o){if(n&1){let e=E();s(0,"div",7)(1,"div",12)(2,"h6",13),u(3,2),s(4,"button",5),g("click",function(){m(e);let a=c();return A(a.toggleNotifications())}),l(5,"sh-icon"),i(),d(),i(),s(6,"div",14,0)(8,"div",15),l(9,"app-notifications"),i()()()()}}function Xe(n,o){if(n&1&&(s(0,"div",20),h(1),i()),n&2){let e=c().$implicit;r(),z(" ",e.content," ")}}function ze(n,o){if(n&1){let e=E();s(0,"sh-alert",18,1),g("click",function(){let a=m(e).$implicit,_=c(2);return A(_.deleteAlertByIndex(a.id))}),s(2,"div",19),h(3),i(),p(4,Xe,2,1,"div",20),i()}if(n&2){let e=o.$implicit;v(e.type),P("id",e.id),r(3),X(e.title),r(),S(e.content?4:-1)}}function We(n,o){n&1&&(s(0,"p",17),O(1,4),i())}function qe(n,o){if(n&1){let e=E();s(0,"div",7)(1,"div",12)(2,"h6",13),u(3,3),s(4,"button",5),g("click",function(){m(e);let a=c();return A(a.toggleAlerts())}),l(5,"sh-icon"),i(),d(),i(),s(6,"div",14,0)(8,"div",15),ee(9,ze,5,5,"sh-alert",16,Z,!1,We,2,0,"p",17),i()()()()}if(n&2){let e=c();r(9),te(e.alertHistory())}}var be=new Ne,y=class n{#e=F(Se);#t=F(k);isSubmitting=T(!1);messageSent=T(!1);form=be.group({message:be.control("",[Oe.required])});notifications=this.#t.notifications;shownMessage=T(null);shownMessageInterval=null;alertHistory=this.#e.alertHistory;alertHistoryIsOpen=this.#e.alertHistoryIsOpen;alertHistoryIsHidden=this.#e.alertHistoryIsHidden;numberOfOpenAlerts=re(()=>this.alertHistory().filter(o=>o.isOpen).length);scroller=_e("scroller");isAlertsOpen=K(!1);isNotificationsOpen=K(!1);previousHistoryCount=T(null);previousNotificationsCount=T(null);constructor(){Q(()=>{let o=this.alertHistory(),e=this.notifications();if(e.length===0){this.shownMessage.set(null);return}e.length&&this.previousHistoryCount()!==o.length&&!this.isNotificationsOpen()?(this.shownMessage.set({content:e[0],countDown:3,type:"notification"}),this.previousHistoryCount.set(o.length),this.shownMessageInterval=setInterval(()=>{let t=this.shownMessage();if(t?.countDown===0){this.shownMessage.set(null),this.shownMessageInterval=null;return}t!==null&&this.shownMessage.update(a=>Y(B({},a),{countDown:a.countDown-1}))},1e3)):o.length&&this.previousHistoryCount()!==o.length&&!this.isAlertsOpen()&&(this.shownMessage.set({content:o[0],countDown:3,type:"alert"}),this.previousHistoryCount.set(o.length),this.shownMessageInterval=setInterval(()=>{let t=this.shownMessage();if(t?.countDown===0){this.shownMessage.set(null),this.shownMessageInterval=null;return}t!==null&&this.shownMessage.update(a=>Y(B({},a),{countDown:a.countDown-1}))},1e3))}),Q(()=>{this.alertHistoryIsOpen(),this.scrollToBottom()})}resetPreviewMessage(){this.shownMessage.set(null),this.shownMessageInterval=null}toggleAlerts(){this.isAlertsOpen()?this.isAlertsOpen.set(!1):(this.isAlertsOpen.set(!0),this.isNotificationsOpen.set(!1),this.resetPreviewMessage())}toggleNotifications(){this.isNotificationsOpen.set(!this.isNotificationsOpen()),this.isAlertsOpen()&&this.isAlertsOpen.set(!1)}deleteAlertByIndex(o){this.#e.removeAlert(o)}scrollToBottom(){this.scroller()&&this.scroller()?.nativeElement&&this.scroller().nativeElement.scrollTo(0,this.scroller().nativeElement.scrollHeight)}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=M({type:n,selectors:[["app-service-hub"]],viewQuery:function(e,t){e&1&&ne(t.scroller,Ge,5),e&2&&oe()},inputs:{isAlertsOpen:[1,"isAlertsOpen"],isNotificationsOpen:[1,"isNotificationsOpen"]},outputs:{isAlertsOpen:"isAlertsOpenChange",isNotificationsOpen:"isNotificationsOpenChange"},decls:10,vars:9,consts:()=>{let o;o=$localize` Notifications ${"\uFFFD#4\uFFFD"}:START_TAG_BUTTON:${"\uFFFD#5\uFFFD"}:START_TAG_SH_ICON:x-circle${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_BUTTON:`;let e;e=$localize` Alerts ${"\uFFFD#4\uFFFD"}:START_TAG_BUTTON:${"\uFFFD#5\uFFFD"}:START_TAG_SH_ICON:x-circle${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SH_ICON:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_BUTTON:`;let t;return t=$localize`No alerts yet`,[["scroller",""],["alerts",""],o,e,t,["shButton","",3,"click"],[1,"preview-alert-wrap"],[1,"alert-stream-modal"],[3,"index","notification"],[3,"class"],["ship-alert-title",""],["ship-alert-content",""],[1,"alert-stream-modal-content"],[1,"paragraph-20"],[1,"alert-stream-modal-list-scroller"],[1,"alert-stream-modal-list"],[3,"class","id"],[1,"no-alerts"],[3,"click","id"],["title",""],["content",""]]},template:function(e,t){if(e&1){let a=E();s(0,"button",5),g("click",function(){return m(a),A(t.toggleAlerts())}),s(1,"sh-icon"),h(2,"info"),i()(),s(3,"button",5),g("click",function(){return m(a),A(t.toggleNotifications())}),p(4,we,2,0,"sh-icon")(5,xe,2,0,"sh-icon"),i(),ie(6),p(7,Ye,3,1,"div",6),p(8,Ve,10,0,"div",7),p(9,qe,12,1,"div",7)}if(e&2){v(t.alertHistory().length?"error":""),r(3),v(t.notifications().length?"error":""),r(),S(t.notifications().length?4:5),r(2);let a=se(t.shownMessage());r(),S(a?7:-1),r(),S(t.isNotificationsOpen()?8:-1),r(),S(t.isAlertsOpen()?9:-1)}},dependencies:[Ie,G,I,w,$e,Re],styles:["[_nghost-%COMP%]{display:flex;position:fixed;gap:.5rem;bottom:1.5rem;right:1.5rem;z-index:5000}@media only screen and (max-width: 768px){[_nghost-%COMP%]{bottom:1rem;right:1rem}}[_nghost-%COMP%] h6[_ngcontent-%COMP%]{margin:0}.preview-alert-wrap[_ngcontent-%COMP%]{position:absolute;bottom:2.6875rem;right:0;display:flex;flex-direction:column;min-width:15.625rem}.helpdesk-modal[_ngcontent-%COMP%]{position:absolute;bottom:2.6875rem;right:0;display:flex;flex-direction:column}@media only screen and (max-width: 768px){.helpdesk-modal[_ngcontent-%COMP%]{bottom:2.6875rem}}.helpdesk-modal-content[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;gap:1rem;min-width:20rem;border:1px solid var(--base-4);background-color:var(--base-1);border-radius:var(--shape-2)}.helpdesk-modal-content[_ngcontent-%COMP%] .message-sent[_ngcontent-%COMP%]{padding:0 1rem 1rem;text-wrap:pretty}.helpdesk-modal-content[_ngcontent-%COMP%] h6[_ngcontent-%COMP%]{padding:1rem;border-bottom:1px solid var(--base-4);display:flex;align-items:center;justify-content:space-between}.helpdesk-modal-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%]{padding:0 1rem 1rem;display:flex;flex-direction:column;align-items:flex-end;gap:1rem}.helpdesk-modal-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{width:100%;text-wrap:pretty}.helpdesk-modal-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{width:100%}.alert-stream-modal[_ngcontent-%COMP%]{position:absolute;bottom:2.6875rem;right:0;display:flex;flex-direction:column}@media only screen and (max-width: 768px){.alert-stream-modal[_ngcontent-%COMP%]{bottom:2.6875rem}}.alert-stream-modal-list-scroller[_ngcontent-%COMP%]{overflow-y:auto;max-height:18.75rem}.alert-stream-modal-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem;padding:1rem;border-radius:var(--shape-2)}.alert-stream-modal-content[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;min-width:20rem;border:1px solid var(--base-4);background-color:var(--base-1);border-radius:var(--shape-2)}.alert-stream-modal-content[_ngcontent-%COMP%] h6[_ngcontent-%COMP%]{padding:1rem;border-bottom:1px solid var(--base-4);display:flex;align-items:center;justify-content:space-between}.no-alerts[_ngcontent-%COMP%]{padding:1rem;display:flex;flex-direction:column;gap:1rem;text-align:center}"],changeDetection:0})};function je(n,o){n&1&&(s(0,"sh-icon",14),h(1,"check"),i())}function Qe(n,o){n&1&&(s(0,"sh-icon",15),h(1,"prohibit"),i())}function Ke(n,o){if(n&1){let e=E();s(0,"button",20),g("click",function(){m(e);let a=c();return A(a.updatePassphrase())}),O(1,5),i()}if(n&2){let e=c();H("loader",e.isUpdating())}}function Je(n,o){if(n&1){let e=E();s(0,"button",21),g("click",function(){m(e);let a=c();return A(a.updatePassphrase())}),O(1,6),i()}if(n&2){let e=c();H("loader",e.isUpdating()),P("disabled",!0)}}var U=class n{#e=F(x);closed=le();isUpdating=T(!1);passphrase=T("");repeatPassphrase=T("");updatePassphrase(){this.passphrase()===this.repeatPassphrase()&&(this.isUpdating.set(!0),this.#e.patchApiV1Serversettings({requestBody:{"server-passphrase":this.passphrase()}}).pipe(V(()=>this.isUpdating.set(!1))).subscribe({next:()=>this.closed.emit()}))}cancel(){this.isUpdating.set(!0),this.#e.patchApiV1Serversettings({requestBody:{"has-asked-for-password-change":"True"}}).pipe(V(()=>this.isUpdating.set(!1))).subscribe({next:()=>this.closed.emit()})}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=M({type:n,selectors:[["app-change-passphrase-alert-dialog"]],outputs:{closed:"closed"},decls:23,vars:7,consts:()=>{let o;o=$localize`Enter new password`;let e;e=$localize`Repeat password`;let t;t=$localize`Password have to be filled and have to match`;let a;a=$localize`Change passphrase`;let _;_=$localize` Duplicati needs to be secured with a passphrase and a random passphrase has been generated for you. ${"[\uFFFD#6\uFFFD\uFFFD/#6\uFFFD|\uFFFD#7\uFFFD\uFFFD/#7\uFFFD]"}:LINE_BREAK:${"[\uFFFD#6\uFFFD\uFFFD/#6\uFFFD|\uFFFD#7\uFFFD\uFFFD/#7\uFFFD]"}:LINE_BREAK: If you open Duplicati from the tray icon, you do not need a passphrase, but if you plan to open it from another location you need to set a passphrase you know. Do you want to set a passphrase now? `,_=$(_);let D;D=$localize`Passphrase`;let N;N=$localize`Repeat passphrase`;let L;L=$localize`Not now thanks`;let R;R=$localize` Yes, update passphrase now `;let C;return C=$localize` Yes, update passphrase now `,[a,_,D,N,L,R,C,["header",""],["content",""],["type","warning"],["for","password"],["type","password","name","password","autocomplete","disabled","placeholder",o,"tabindex","1",3,"ngModelChange","ngModel"],["for","repeatPassword"],["type","password","name","repeatPassword","autocomplete","disabled","placeholder",e,"tabindex","2",3,"ngModelChange","disabled","ngModel"],["suffix","",1,"sh-success"],["suffix",""],["footer",""],["shButton","",3,"click"],["shButton","",1,"raised","primary",3,"loader"],["shButton","","shTooltip",t,1,"raised","primary",3,"loader","disabled"],["shButton","",1,"raised","primary",3,"click"],["shButton","","shTooltip",t,1,"raised","primary",3,"click","disabled"]]},template:function(e,t){e&1&&(s(0,"header",7)(1,"h3"),O(2,0),i()(),s(3,"div",8)(4,"sh-alert",9),u(5,1),l(6,"br")(7,"br"),d(),i(),s(8,"sh-form-field")(9,"label",10),O(10,2),i(),s(11,"input",11),j("ngModelChange",function(_){return q(t.passphrase,_)||(t.passphrase=_),_}),i()(),s(12,"sh-form-field")(13,"label",12),O(14,3),i(),s(15,"input",13),j("ngModelChange",function(_){return q(t.repeatPassphrase,_)||(t.repeatPassphrase=_),_}),i(),p(16,je,2,0,"sh-icon",14)(17,Qe,2,0,"sh-icon",15),i()(),s(18,"footer",16)(19,"button",17),g("click",function(){return t.cancel()}),O(20,4),i(),p(21,Ke,2,2,"button",18)(22,Je,2,3,"button",19),i()),e&2&&(r(11),W("ngModel",t.passphrase),r(4),P("disabled",t.passphrase().length===0),W("ngModel",t.repeatPassphrase),r(),S(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?16:17),r(3),H("loader",t.isUpdating()),r(2),S(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?21:22))},dependencies:[Me,fe,Pe,De,G,Fe,I,Ce],styles:["[_nghost-%COMP%]{display:block;--dialog-p: 1.5rem}[content][_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}"],changeDetection:0})};var Ze=()=>({exact:!0});function et(n,o){n&1&&(s(0,"sh-icon"),h(1,"sun"),i())}function tt(n,o){n&1&&(s(0,"sh-icon"),h(1,"moon"),i())}function nt(n,o){if(n&1){let e=E();s(0,"button",22),g("click",function(){m(e);let a=c();return A(a.changeDefaultClientTo("ngax"))}),u(1,7),l(2,"sh-icon"),d(),i(),s(3,"button",22),g("click",function(){m(e);let a=c();return A(a.logout())}),u(4,8),l(5,"sh-icon"),d(),i()}}var J=class n{#e=F(ve);#t=F(x);#n=F(Ee);#o=F(pe);#i=F(ge);#s=F(k);#a=F(Te);relayIsEnabled=this.#o.relayIsEnabled;isDarkMode=this.#e.isDarkMode;ngOnInit(){return this.#s.init(),this.#n.getBackups(!0),this.#t.getApiV1Serversettings().subscribe({next:o=>{let e=o["autogenerated-passphrase"]==="True",t=o["has-asked-for-password-change"]==="True";e&&!t&&this.#i.open(U,{maxWidth:"500px"})}})}toggleBodyClass(){this.#e.toggleBodyClass()}changeDefaultClientTo(o){this.#r(o),window.location.replace(`/${o}`)}logout(){this.#a.logout()}#r(o){var e=new Date;e.setTime(e.getTime()+90*24*60*60*1e3),document.cookie="default-client="+o+"; expires="+e.toUTCString()+"; path=/"}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=M({type:n,selectors:[["app-layout"]],decls:37,vars:4,consts:()=>{let o;o=$localize`${"\uFFFD#10\uFFFD"}:START_TAG_SH_ICON:house${"\uFFFD/#10\uFFFD"}:CLOSE_TAG_SH_ICON: Home `;let e;e=$localize`${"\uFFFD#13\uFFFD"}:START_TAG_SH_ICON:database${"\uFFFD/#13\uFFFD"}:CLOSE_TAG_SH_ICON: Add backup `;let t;t=$localize`${"\uFFFD#16\uFFFD"}:START_TAG_SH_ICON:clock-counter-clockwise${"\uFFFD/#16\uFFFD"}:CLOSE_TAG_SH_ICON: Restore `;let a;a=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SH_ICON:gear${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SH_ICON: Settings `;let _;_=$localize`${"\uFFFD#26\uFFFD"}:START_TAG_SH_ICON:info${"\uFFFD/#26\uFFFD"}:CLOSE_TAG_SH_ICON: About Duplicati `;let D;D=$localize`${"\uFFFD#29\uFFFD"}:START_TAG_SH_ICON:files${"[\uFFFD/#29\uFFFD|\uFFFD/#30\uFFFD]"}:CLOSE_TAG_SH_ICON: Documentation ${"\uFFFD#30\uFFFD"}:START_TAG_SH_ICON_1:arrow-square-out${"[\uFFFD/#29\uFFFD|\uFFFD/#30\uFFFD]"}:CLOSE_TAG_SH_ICON:`,D=$(D);let N;N=$localize`${"\uFFFD#33\uFFFD"}:START_TAG_SH_ICON:chats-circle${"[\uFFFD/#33\uFFFD|\uFFFD/#34\uFFFD]"}:CLOSE_TAG_SH_ICON: Visit forum ${"\uFFFD#34\uFFFD"}:START_TAG_SH_ICON_1:arrow-square-out${"[\uFFFD/#33\uFFFD|\uFFFD/#34\uFFFD]"}:CLOSE_TAG_SH_ICON:`,N=$(N);let L;L=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:skip-back${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: Use old UI `;let R;return R=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SH_ICON:sign-out${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SH_ICON: Log out `,[o,e,t,a,_,D,N,L,R,["sidenav",""],["shButton","",1,"icon","small",3,"click"],[1,"base-1","primary"],["action","","routerLink","/","routerLinkActive","active",3,"routerLinkActiveOptions"],["action","","routerLink","/add-backup","routerLinkActive","active"],["action","","routerLink","/restore","routerLinkActive","active"],["action","","routerLink","/settings","routerLinkActive","active"],[1,"spacer"],[1,"base-1l","primary"],["action","","routerLink","/about","routerLinkActive","active"],["href","https://docs.duplicati.com","target","_blank","action",""],["suffix",""],["href","https://forum.duplicati.com","target","_blank","action",""],["action","",3,"click"]]},template:function(e,t){e&1&&(s(0,"sh-sidenav")(1,"div",9)(2,"header"),l(3,"app-logo"),s(4,"button",10),g("click",function(){return t.toggleBodyClass()}),p(5,et,2,0,"sh-icon")(6,tt,2,0,"sh-icon"),i()(),s(7,"sh-list",11)(8,"button",12),u(9,0),l(10,"sh-icon"),d(),i(),s(11,"button",13),u(12,1),l(13,"sh-icon"),d(),i(),s(14,"button",14),u(15,2),l(16,"sh-icon"),d(),i(),s(17,"button",15),u(18,3),l(19,"sh-icon"),d(),i()(),l(20,"div",16),s(21,"sh-list",17),p(22,nt,6,0),l(23,"sh-divider"),s(24,"button",18),u(25,4),l(26,"sh-icon"),d(),i(),s(27,"a",19),u(28,5),l(29,"sh-icon")(30,"sh-icon",20),d(),i(),s(31,"a",21),u(32,6),l(33,"sh-icon")(34,"sh-icon",20),d(),i()()(),l(35,"router-outlet")(36,"app-service-hub"),i()),e&2&&(r(5),S(t.isDarkMode()?5:6),r(3),P("routerLinkActiveOptions",ae(3,Ze)),r(14),S(t.relayIsEnabled()?-1:22))},dependencies:[ce,ue,de,Ae,I,me,w,he,y,Le],styles:["[_nghost-%COMP%]{height:100vh;width:100%;overflow:hidden}header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:1.25rem;gap:.75rem}h3[title][_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}div[sidenav][_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100vh}"],changeDetection:0})};export{J as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as m}from"./chunk-
|
|
1
|
+
import{a as m}from"./chunk-73RDJP55.js";import{_ as p,eb as a}from"./chunk-QDFCX6XE.js";var u=class e{#t=p(m);transform(t,n=!1,...f){if(!t)return"";let r=t.split(".")[0],s=parseInt(r.split(":")[0])??0,i=parseInt(r.split(":")[1])??0,o=parseInt(r.split(":")[2])??0;return n?`${s}h ${i}m ${o}s`:this.#t.duration({hours:s,minutes:i,seconds:o}).humanize()}static \u0275fac=function(n){return new(n||e)};static \u0275pipe=a({name:"durationFormat",type:e,pure:!0})};export{u as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as mt,b as ht,c as Nt}from"./chunk-7765XHNC.js";import"./chunk-3L3SGYRX.js";import"./chunk-CZLLEVMJ.js";import{a as pt}from"./chunk-LT2T7TXS.js";import{h as Ct}from"./chunk-LIJJPCCP.js";import"./chunk-BVEALUGN.js";import"./chunk-UACX27D3.js";import"./chunk-VC72SWC4.js";import"./chunk-QGFC5ZUR.js";import{a as I}from"./chunk-GUH5TMOS.js";import"./chunk-RHW5QVAY.js";import"./chunk-OWAZS6AA.js";import{c as ct,e as ut,f as _t,g as Tt,i as gt,j as Dt,r as dt,s as St}from"./chunk-USU2EHJV.js";import{b as nt,d as it}from"./chunk-L2EO4M4B.js";import"./chunk-4YL5DZVH.js";import{a as ot,b as at,d as st,e as Ft,l as rt,o as lt}from"./chunk-WRNQOX5R.js";import"./chunk-QM6X5ZEC.js";import"./chunk-WJPLJKPQ.js";import"./chunk-FPPZ4BUR.js";import{Ab as s,Bb as F,Cb as g,Gb as b,Hb as w,Jb as C,Oc as v,Qb as _,Ra as r,Rb as T,Sb as O,Tb as A,Ub as $,Vb as k,Vc as et,Wb as d,Yb as l,_ as m,bb as Q,ea as c,ec as Y,fa as u,fc as q,ia as j,ic as J,lc as f,mc as G,nc as Z,oa as h,qc as M,rc as y,sc as P,ub as S,vb as p,wb as x,xb as R,yb as U,zb as N,zc as tt}from"./chunk-QDFCX6XE.js";import"./chunk-EUDKD2JW.js";var It=["formRef"],Et=()=>({maxWidth:"700px",width:"100%"});function ft(i,o){if(i&1){let t=C();_(0,2,1),s(1,"button",30),d("click",function(){c(t);let e=l();return u(e.testDestination(0,!0))}),F(),T()}if(i&2){let t=l();r(),J("loader",t.testSignal()=="testing"),N("disabled",t.testSignal()=="testing")}}function Ot(i,o){if(i&1){let t=C();_(0,2,2),s(1,"button",20),d("click",function(){c(t);let e=l();return u(e.copyTargetUrl())}),g(2,"sh-icon"),F(),T()}}function At(i,o){i&1&&(s(0,"sh-alert"),_(1,5),g(2,"sh-icon",31),T(),F())}function $t(i,o){i&1&&(s(0,"sh-alert",21),_(1,6),g(2,"sh-icon",31),T(),F())}function Mt(i,o){if(i&1&&(s(0,"sh-alert",22),_(1,7),g(2,"sh-icon",31),T(),F()),i&2){let t=l();r(2),A(t.testErrorMessage()),$(1)}}function yt(i,o){if(i&1&&(s(0,"sh-alert",23),_(1,8),g(2,"sh-icon",31),T(),F()),i&2){let t=l();r(2),A(t.testErrorMessage()),$(1)}}function Pt(i,o){if(i&1){let t=C();s(0,"p",32),d("click",function(){c(t);let e=l();return u(e.removeDestination())}),_(1,9),g(2,"strong")(3,"br")(4,"span",33),T(),F()}if(i&2){let t,n=l();r(4),A((t=n.selectedDestinationType())==null?null:t.displayName),$(1)}}function Bt(i,o){if(i&1){let t=C();s(0,"div",39),d("click",function(){let e=c(t).$implicit,a=l(2);return u(a.setDestination(e.key))}),s(1,"h3"),f(2),F(),s(3,"p"),f(4),F()()}if(i&2){let t=o.$implicit;r(2),G(t.displayName),r(2),G(t.description)}}function xt(i,o){if(i&1){let t=C();s(0,"button",40,1),d("click",function(){let e=c(t).$implicit,a=l(2);return u(a.setDestination(e.key))}),f(2),F()}if(i&2){let t=o.$implicit;r(2),Z(" ",t.displayName," ")}}function Rt(i,o){if(i&1&&(s(0,"div",34),R(1,Bt,5,2,"div",35,x),F(),s(3,"sh-menu",36)(4,"button",37),O(5,10),F(),b(6,19),R(7,xt,3,1,"button",38,x),w(),F()),i&2){let t=l();r(),U(t.destinationTypeOptionsFocused()),r(2),N("searchable",!0),r(4),U(t.destinationTypeOptions())}}function Ut(i,o){if(i&1){let t=C();s(0,"app-single-destination",41),P("targetUrlChange",function(e){c(t);let a=l();return y(a.targetUrlModel,e)||(a.targetUrlModel=e),u(e)}),F()}if(i&2){let t=l();M("targetUrl",t.targetUrlModel),N("useBackupState",!0)}}function bt(i,o){i&1&&(_(0,4,1),g(1,"sh-icon",28),T())}function wt(i,o){i&1&&(_(0,4,2),g(1,"sh-icon"),T())}function kt(i,o){if(i&1){let t=C();s(0,"sh-dialog",42),P("isOpenChange",function(e){c(t);let a=l();return y(a.targetUrlDialogOpen,e)||(a.targetUrlDialogOpen=e),u(e)}),s(1,"header",43)(2,"h2"),O(3,11),F(),s(4,"sh-alert",22),O(5,12),F()(),s(6,"div",44)(7,"sh-form-field")(8,"textarea",45),P("ngModelChange",function(e){c(t);let a=l();return y(a.targetUrlCtrl,e)||(a.targetUrlCtrl=e),u(e)}),F()()(),s(9,"footer",46)(10,"button",26),d("click",function(){c(t);let e=l();return u(e.closeTargetUrlDialog(!1))}),f(11,"Cancel"),F(),s(12,"button",47),d("click",function(){c(t);let e=l();return u(e.closeTargetUrlDialog(!0))}),_(13,13),g(14,"sh-icon"),T(),F()()()}if(i&2){let t=l();M("isOpen",t.targetUrlDialogOpen),N("options",tt(3,Et)),r(8),M("ngModel",t.targetUrlCtrl)}}var B=new dt,ne=(i={destinations:[]})=>B.group({destinations:B.array(i.destinations)}),ie=({key:i,customGroup:o,dynamicGroup:t,advancedGroup:n})=>B.group({destinationType:B.control(i),custom:o,dynamic:t,advanced:n}),L=class i{#i=m(it);#o=m(nt);#t=m(Ct);#a=m(ht);#e=m(Ft);#s=m(mt);injector=m(j);formRef=et.required("formRef");targetUrlModel=this.#t.targetUrlModel;targetUrlCtrl=h(null);targetUrlInitial=h(null);targetUrlDialogOpen=h(!1);toggleNewDestination=h(!0);destinationTypeOptionsInFocus=h(["file","ssh","s3","gcs","googledrive","azure"]);destinationTypeOptions=this.#a.destinationTypeOptions;testSignal=this.#t.testSignal;testErrorMessage=this.#t.testErrorMessage;destinationTypeOptionsFocused=v(()=>{let o=this.destinationTypeOptionsInFocus(),t=this.destinationTypeOptions();return o.map(n=>t.find(e=>e.key===n))});selectedDestinationType=v(()=>{let o=this.targetUrlModel();if(!o)return null;let t=o.split("://")[0];return pt(t)??null});copyTargetUrl(){navigator.clipboard.writeText(this.targetUrlModel()??"")}openTargetUrlDialog(){let o=this.targetUrlModel();this.targetUrlCtrl.set(o),this.targetUrlInitial.set(o),this.targetUrlDialogOpen.set(!0)}closeTargetUrlDialog(o=!1){this.targetUrlDialogOpen.set(!1);let t=this.targetUrlCtrl(),n=this.targetUrlInitial();!o||t===n||!t||this.#t.setTargetUrl(t)}testDestination(o,t,n){let e=this.targetUrlModel();e&&(this.#t.setTestState("testing"),this.#s.testDestination(e,o,!0,!0).subscribe({next:a=>{if(a.action==="success"){this.#t.setTestState("success"),this.#t.isNew()&&(a.containsBackup===!0?(this.#t.setTestState("warning",$localize`The remote destination already contains a backup. Please use a different folder for each backup.`),t||this.#e.open(I,{data:{title:$localize`Folder contains backup`,message:$localize`The remote destination already contains a backup. You must use a different folder for each backup.`,confirmText:$localize`OK`,cancelText:void 0}})):a.anyFilesFound===!0&&(this.#t.setTestState("warning",$localize`The remote destination contains unknown files.`),t||this.#e.open(I,{data:{title:$localize`Folder is not empty`,message:$localize`The remote destination is not empty. It is recommended to use an empty folder for the backup.`,confirmText:$localize`OK`,cancelText:void 0}}))),n?.();return}if(this.#t.setTestState("error",a.errorMessage??$localize`An error occurred while testing the destination.`),a.action==="generic-error"){n?.();return}let E=e.includes("?");a.action==="trust-cert"&&this.#t.setTargetUrl(e+`${E?"&":"?"}accept-specified-ssl-hash=${a.certData}`),a.action==="approve-host-key"&&this.#t.setTargetUrl(e+`${E?"&":"?"}ssh-fingerprint=${a.reportedHostKey}`),a.testAgain?this.testDestination(a.destinationIndex,t):n?.()}}))}setDestination(o){this.#t.setTargetUrl(`${o}://`)}removeDestination(){this.#t.setTargetUrl(null)}goBack(){this.#i.navigate(["general"],{relativeTo:this.#o.parent})}next(){let o=this.#t.isNew(),t=this.testSignal();if(!o){this.#n();return}if(t===""){this.#e.open(I,{data:{title:$localize`Test destination`,message:$localize`You have not tested the destination yet. Do you want to test it now?`,confirmText:$localize`Test now`,cancelText:$localize`Skip test and continue`},closed:n=>{n?this.testDestination(0,!1,()=>{this.testSignal()==="success"?this.#n():this.#e.open(I,{data:{title:$localize`Test did not succeed`,message:this.testErrorMessage()??$localize`Failed to test the destination.`,confirmText:$localize`OK`,cancelText:void 0}})}):this.#n()}});return}if(t!=="success"){this.#e.open(I,{data:{title:$localize`Test destination`,message:$localize`The destination has not been tested successfully. Are you sure you want to continue?`,confirmText:$localize`Yes, continue`,cancelText:$localize`Cancel`},closed:n=>{n&&this.#n()}});return}this.#n()}#n(){this.#t.isNew()||this.#t.submit(!0),this.#i.navigate(["source-data"],{relativeTo:this.#o.parent})}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=Q({type:i,selectors:[["app-destination"]],viewQuery:function(t,n){t&1&&Y(n.formRef,It,5),t&2&&q()},decls:30,vars:9,consts:()=>{let o;o=$localize` Backup destination ${"\uFFFD#5\uFFFD"}:START_TAG_DIV:${"[\uFFFD*6:1\uFFFD|\uFFFD*13:2\uFFFD]"}:START_BLOCK_IF:${"\uFFFD#1:1\uFFFD"}:START_TAG_BUTTON: Test destination ${"[\uFFFD/#1:1\uFFFD|\uFFFD/#8\uFFFD|\uFFFD/#11\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_BUTTON:${"[\uFFFD/*6:1\uFFFD|\uFFFD/*13:2\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD#7\uFFFD"}:START_TAG_SH_MENU:${"\uFFFD#8\uFFFD"}:START_TAG_BUTTON_1:${"[\uFFFD#9\uFFFD|\uFFFD#12\uFFFD|\uFFFD#2:2\uFFFD]"}:START_TAG_SH_ICON:dots-three-vertical${"[\uFFFD/#9\uFFFD|\uFFFD/#12\uFFFD|\uFFFD/#2:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"[\uFFFD/#1:1\uFFFD|\uFFFD/#8\uFFFD|\uFFFD/#11\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD#10\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD#11\uFFFD"}:START_TAG_BUTTON_2:${"[\uFFFD#9\uFFFD|\uFFFD#12\uFFFD|\uFFFD#2:2\uFFFD]"}:START_TAG_SH_ICON:link${"[\uFFFD/#9\uFFFD|\uFFFD/#12\uFFFD|\uFFFD/#2:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Edit target URL ${"[\uFFFD/#1:1\uFFFD|\uFFFD/#8\uFFFD|\uFFFD/#11\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_BUTTON:${"[\uFFFD*6:1\uFFFD|\uFFFD*13:2\uFFFD]"}:START_BLOCK_IF:${"\uFFFD#1:2\uFFFD"}:START_TAG_BUTTON_3:${"[\uFFFD#9\uFFFD|\uFFFD#12\uFFFD|\uFFFD#2:2\uFFFD]"}:START_TAG_SH_ICON:copy${"[\uFFFD/#9\uFFFD|\uFFFD/#12\uFFFD|\uFFFD/#2:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Copy url to clipboard ${"[\uFFFD/#1:1\uFFFD|\uFFFD/#8\uFFFD|\uFFFD/#11\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_BUTTON:${"[\uFFFD/*6:1\uFFFD|\uFFFD/*13:2\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD/#10\uFFFD"}:CLOSE_TAG_NG_CONTAINER:${"\uFFFD/#7\uFFFD"}:CLOSE_TAG_SH_MENU:${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_DIV:`,o=k(o);let t;t=$localize`${"\uFFFD#24\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#24\uFFFD"}:CLOSE_TAG_SH_ICON: Go back `;let n;n=$localize`${"\uFFFD*27:1\uFFFD"}:START_BLOCK_IF:${"\uFFFD#1:1\uFFFD"}:START_TAG_SH_ICON:spinner${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*27:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*28:2\uFFFD"}:START_BLOCK_ELSE:${"\uFFFD#1:2\uFFFD"}:START_TAG_SH_ICON_1:arrow-right${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*28:2\uFFFD"}:CLOSE_BLOCK_ELSE: Continue `,n=k(n);let e;e=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:spinner${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: Testing connection... `;let a;a=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:check${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: Connection tested successfully. `;let E;E=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:warning${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let V;V=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:warning${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let K;K=$localize` Current destination type ${"\uFFFD#2\uFFFD"}:START_TAG_STRONG:${"\uFFFD0\uFFFD"}:INTERPOLATION:.${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_STRONG:${"\uFFFD#3\uFFFD\uFFFD/#3\uFFFD"}:LINE_BREAK: Want to select another? ${"\uFFFD#4\uFFFD"}:START_TAG_SPAN:Click here${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_SPAN:`;let z;z=$localize`All destinations`;let H;H=$localize`Edit target URL`;let X;X=$localize`Be careful, this will overwrite everything you have in your destination.`;let W;return W=$localize` Override target URL ${"\uFFFD#14\uFFFD"}:START_TAG_SH_ICON:swap${"\uFFFD/#14\uFFFD"}:CLOSE_TAG_SH_ICON:`,[["formRef",""],["option",""],o,t,n,e,a,E,V,K,z,H,X,W,[3,"submit"],[1,"title-30"],[1,"actions"],["shButton","","type","button",1,"small",3,"loader","disabled"],["shButton","","type","button",1,"small"],["menu",""],["shButton","","type","button",1,"small",3,"click"],[1,"success"],[1,"warn"],[1,"error"],[3,"targetUrl","useBackupState"],[1,"form-actions"],["shButton","","type","button",3,"click"],["shButton","","type","submit",1,"raised","primary",3,"disabled"],[1,"loader"],[3,"isOpen","options"],["shButton","","type","button",1,"small",3,"click","disabled"],["icon",""],[3,"click"],[1,"sh-primary"],[1,"most-common-destinations"],[1,"tile"],[3,"searchable"],["shButton","","type","button",1,"outlined"],["type","button"],[1,"tile",3,"click"],["type","button",3,"click"],[3,"targetUrlChange","targetUrl","useBackupState"],[3,"isOpenChange","isOpen","options"],["header",""],["content",""],["id","targetUrl","autocomplete","off",3,"ngModelChange","ngModel"],["footer",""],["shButton","","type","submit",1,"raised","primary",3,"click"]]},template:function(t,n){if(t&1){let e=C();s(0,"form",14,0),d("submit",function(){return c(e),u(n.next())}),s(2,"header")(3,"h3",15),_(4,2),s(5,"div",16),S(6,ft,2,3,"button",17),s(7,"sh-menu")(8,"button",18),g(9,"sh-icon"),F(),b(10,19),s(11,"button",20),d("click",function(){return c(e),u(n.openTargetUrlDialog())}),g(12,"sh-icon"),F(),S(13,Ot,3,0,"button",18),w(),F()(),T(),F(),S(14,At,3,0,"sh-alert")(15,$t,3,0,"sh-alert",21)(16,Mt,3,1,"sh-alert",22)(17,yt,3,1,"sh-alert",23),S(18,Pt,5,1,"p"),F(),S(19,Rt,9,1),S(20,Ut,1,2,"app-single-destination",24),s(21,"div",25)(22,"button",26),d("click",function(){return c(e),u(n.goBack())}),_(23,3),g(24,"sh-icon"),T(),F(),s(25,"button",27),_(26,4),S(27,bt,2,0,"sh-icon",28)(28,wt,2,0,"sh-icon"),T(),F()()(),S(29,kt,15,4,"sh-dialog",29)}if(t&2){let e=!!n.targetUrlModel();r(6),p(e?6:-1),r(7),p(e?13:-1),r(),p(n.testSignal()=="testing"?14:n.testSignal()=="success"?15:n.testSignal()=="warning"?16:n.testSignal()=="error"?17:-1),r(4),p(e?18:-1),r(),p(e?-1:19),r(),p(e?20:-1),r(5),N("disabled",n.testSignal()=="testing"||!e),r(2),p(n.testSignal()=="testing"?27:28),r(2),p(n.targetUrlDialogOpen()?29:-1)}},dependencies:[Nt,St,Dt,ct,ut,_t,gt,Tt,rt,lt,ot,st,at],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:32.5rem;padding:2.5rem}header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], header[_ngcontent-%COMP%] sh-alert[_ngcontent-%COMP%]{width:100%}header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;gap:.5rem}header[_ngcontent-%COMP%] p[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{cursor:pointer;text-decoration:underline}header[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.most-common-destinations[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.most-common-destinations[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border:1px solid var(--base-4);border-radius:var(--shape-3);box-shadow:var(--box-shadow-10);background-color:var(--base-2);cursor:pointer}.most-common-destinations[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font:var(--paragraph-10);margin:0}"],changeDetection:0})};export{ne as createDestinationForm,ie as createDestinationFormGroup,L as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as B}from"./chunk-P2DII6CV.js";import{a as m}from"./chunk-RHW5QVAY.js";import{a as k}from"./chunk-OWAZS6AA.js";import{a as r}from"./chunk-47WDRGVN.js";import{h as b}from"./chunk-QM6X5ZEC.js";import{F as i,H as u,Oc as p,Pc as d,R as c,V as o,_ as s,oa as a}from"./chunk-QDFCX6XE.js";var y="backupListOrderBy",v="backupListShowActualTimes",D=[{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 (descending)`},{value:"-name",label:$localize`Backup name (descending)`},{value:"-lastrun",label:$localize`Last run time (descending)`},{value:"-nextrun",label:$localize`Next run time (descending)`},{value:"-schedule",label:$localize`Is scheduled (descending)`},{value:"-backend",label:$localize`Destination type (descending)`},{value:"-sourcesize",label:$localize`Source size (descending)`},{value:"-destinationsize",label:$localize`Destination size (descending)`},{value:"-duration",label:$localize`Duration (descending)`}],g=class l{#s=s(b);#o=s(k);#e=s(B);#u=null;#t=a([]);#a=a([]);#l=a(!1);#n=a(null);#p=a(null);#c=r(v,"relative");#i=r(y,"id");orderByOptions=a(D);orderBy=this.#i.asReadonly();backups=this.#a.asReadonly();timeType=this.#c.asReadonly();backupsLoading=this.#l.asReadonly();startingBackup=this.#n.asReadonly();deletingBackup=this.#p.asReadonly();draftBackups=this.#t.asReadonly();#r=p(()=>this.#o.hasBackupListSubscribeOption()&&this.#e.getConnectionMethod()==="websocket");#d=d(()=>{let e=this.#e.backupListState();e&&this.#a.set(e)});addDraftBackup(e){let t=m();return this.#t.set([...this.#t(),{id:t,data:e}]),t}setOrderBy(e){this.#i.set(e),this.#e.isConnectionMethodSet()&&(this.#r()?this.#e.subscribe("backuplist",e):this.getBackups(!0))}setTimeType(e){this.#c.set(e)}removeDraftBackupById(e){this.#t.set(this.#t().filter(t=>t.id!==e))}getBackupById(e){return this.#a().find(t=>t.Backup?.ID===e)??null}getBackups(e=!1){if(!this.#e.isConnectionMethodSet())return;if(this.#r()){this.#e.subscribe("backuplist",this.#i());return}let t=this.#u,n=Date.now(),h=t&&n-t<15*60*1e3;t&&n-t<100||!e&&h&&this.#a().length||(this.#u=n,this.#l.set(!0),this.#s.getApiV1Backups({orderBy:this.#i()}).pipe(i(1),c(f=>this.#a.set(f)),u(()=>this.#l.set(!1))).subscribe())}startBackup(e){this.#n.set(e),this.#s.postApiV1BackupByIdStart({id:e}).pipe(i(1),c(()=>this.getBackups(!0)),u(()=>this.#n.set(null))).subscribe()}deleteBackup(e){return this.#s.deleteApiV1BackupById(e).pipe(i(1))}static \u0275fac=function(t){return new(t||l)};static \u0275prov=o({token:l,factory:l.\u0275fac,providedIn:"root"})};export{g as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{e as a,f as b}from"./chunk-OBJPWKDY.js";import"./chunk-UV3WAAEX.js";import"./chunk-CZLLEVMJ.js";import"./chunk-BVEALUGN.js";import"./chunk-UACX27D3.js";import"./chunk-QGFC5ZUR.js";import"./chunk-P2DII6CV.js";import"./chunk-GUH5TMOS.js";import"./chunk-OWAZS6AA.js";import"./chunk-CWBEE627.js";import"./chunk-USU2EHJV.js";import"./chunk-4URGDROZ.js";import"./chunk-L2EO4M4B.js";import"./chunk-4YL5DZVH.js";import"./chunk-WRNQOX5R.js";import"./chunk-QM6X5ZEC.js";import"./chunk-WJPLJKPQ.js";import"./chunk-FPPZ4BUR.js";import"./chunk-QDFCX6XE.js";import"./chunk-EUDKD2JW.js";export{a as createRestoreSelectFilesForm,b as default};
|