@duplicati/ngclient 0.0.232 → 0.0.233
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/sh.woff2 +0 -0
- package/{chunk-B52v_pjw.js → chunk-8Y8ReLEn.js} +2 -2
- package/{chunk-Brvxo-yI.js → chunk-AuCOjHXM.js} +1 -1
- package/{chunk-Bja52qI7.js → chunk-B1c7h-_w.js} +1 -1
- package/{chunk-BqN36tfl.js → chunk-B1wZ4poV.js} +1 -1
- package/{chunk-DI7suso2.js → chunk-B5Y6lgE8.js} +1 -1
- package/chunk-B6c2NXNy.js +1 -0
- package/{chunk-Cjb79u3p.js → chunk-BZgAzrl9.js} +1 -1
- package/chunk-B_cIFQAl.js +1 -0
- package/{chunk-Da_-7L7P.js → chunk-BaSm1lsB.js} +1 -1
- package/{chunk-Saq2s7Ep.js → chunk-Bgw6E0Xu.js} +1 -1
- package/{chunk-CIcBoEH1.js → chunk-Bj7EyCHb.js} +1 -1
- package/{chunk-aOMoAKYY.js → chunk-BmmYJhOf.js} +1 -1
- package/chunk-BrtdRb9j.js +1 -0
- package/{chunk-CkrxdjhU.js → chunk-BsNCg00z.js} +2 -2
- package/{chunk-CHzwXmsn.js → chunk-BstaUtD_.js} +1 -1
- package/{chunk-BBsBaTWO.js → chunk-BxpXVeOr.js} +1 -1
- package/{chunk-ivwxSoND.js → chunk-ByL8ndec.js} +1 -1
- package/chunk-BzJX1fKw.js +1 -0
- package/{chunk-B53Wj4F9.js → chunk-C3gUxHQM.js} +1 -1
- package/{chunk-Cz0KuBHB.js → chunk-C7AeY2HY.js} +2 -2
- package/chunk-C7gG_Yh_.js +2 -0
- package/{chunk-CgyaUJSI.js → chunk-C9OqpwwE.js} +1 -1
- package/{chunk-DvyGZpE4.js → chunk-C9ecLR93.js} +2 -2
- package/chunk-CGsQCBkP.js +1 -0
- package/{chunk-CUaRQ2FJ.js → chunk-CIe9Bupz.js} +1 -1
- package/chunk-CIw_h8oP.js +1 -0
- package/{chunk-DZm4l28A.js → chunk-CP6xnjgo.js} +2 -2
- package/{chunk-Cg09iQR5.js → chunk-CS2J-6VZ.js} +1 -1
- package/{chunk-umW-K0Ca.js → chunk-CWgXi-7W.js} +1 -1
- package/{chunk-DmDqcC4A.js → chunk-CX3Axjpk.js} +1 -1
- package/{chunk-BlTnmRGU.js → chunk-Ca1aaA1h.js} +1 -1
- package/{chunk-CartdZy-.js → chunk-CfxBiw7I.js} +1 -1
- package/{chunk-CTm37hI-.js → chunk-CgJAbgNN.js} +1 -1
- package/{chunk-CUuyy9Er.js → chunk-ChUm8bnG.js} +1 -1
- package/{chunk-CtEMAj2d.js → chunk-CkRbgemk.js} +1 -1
- package/chunk-ClRItSzt.js +1 -0
- package/{chunk-DoQHDPZg.js → chunk-CsIAXoYP.js} +1 -1
- package/{chunk-BVEyeg9y.js → chunk-CuJ_uEdr.js} +1 -1
- package/{chunk-BEhUV7oX.js → chunk-CvSsZZty.js} +1 -1
- package/{chunk-Bb6BmVO4.js → chunk-CyqqlRjO.js} +2 -2
- package/{chunk-DqIU7ViF.js → chunk-D1pDZLJ9.js} +1 -1
- package/{chunk-vnqcxg-9.js → chunk-D2G7_0hG.js} +1 -1
- package/{chunk-DKZlKdfB.js → chunk-D3PhthfU.js} +1 -1
- package/chunk-D55uWC7G.js +1 -0
- package/{chunk-B8uF0dom.js → chunk-DDWDcSq2.js} +1 -1
- package/{chunk-Cu2bh6aQ.js → chunk-DD_wKpGc.js} +1 -1
- package/{chunk-Box6Lckh.js → chunk-DGvC49aU.js} +1 -1
- package/{chunk-BkIXk6uR.js → chunk-DGxk44Me.js} +2 -2
- package/{chunk-D5tms-6w.js → chunk-DM11Gu0H.js} +1 -1
- package/chunk-DV8bRznt.js +2 -0
- package/{chunk-Dum38U6w.js → chunk-DWiO0A6h.js} +2 -2
- package/{chunk-BpRWdcC8.js → chunk-DXEgz1tV.js} +1 -1
- package/{chunk-BI14DMeb.js → chunk-DbbyVAGl.js} +1 -1
- package/{chunk-CVQPUpDQ.js → chunk-DcdpG1YG.js} +2 -2
- package/{chunk-B9maI7Xa.js → chunk-DhiIZLrA.js} +3 -3
- package/{chunk-BTgf5lfZ.js → chunk-DidJB9ig.js} +1 -1
- package/{chunk-CX26gEKv.js → chunk-Dk-Wgx3e.js} +1 -1
- package/{chunk-BBU0vswn.js → chunk-DuYKanVS.js} +1 -1
- package/{chunk-DY3nK3tu.js → chunk-DwmssGG9.js} +1 -1
- package/chunk-DxFBzFom.js +1 -0
- package/{chunk-ihUnHtR7.js → chunk-Dz5guW4b.js} +1 -1
- package/{chunk-DzmZd524.js → chunk-FTZ5atHM.js} +1 -1
- package/{chunk-CZoVeRAG.js → chunk-I5dxaHZ4.js} +2 -2
- package/{chunk-C4GeR7BF.js → chunk-K2iai6rC.js} +1 -1
- package/{chunk-BYWmNy-_.js → chunk-L8hQtTzU.js} +1 -1
- package/{chunk-CKnRcyHZ.js → chunk-MDqH8T3Z.js} +2 -2
- package/{chunk-BkUa7yBI.js → chunk-Y-xXBGKy.js} +1 -1
- package/{chunk-Bt_Ie-F3.js → chunk-Z81HNfgo.js} +1 -1
- package/{chunk-DUYvFN8m.js → chunk-aCJqF9DH.js} +1 -1
- package/{chunk-Bo1yB-fQ.js → chunk-aYCYzU5Q.js} +1 -1
- package/{chunk-C80zvTbO.js → chunk-bt6lhYfG.js} +1 -1
- package/{chunk-Rp7-yjlz.js → chunk-eiyaQxBt.js} +1 -1
- package/{chunk-DJJ8GbYi.js → chunk-h6n5A491.js} +1 -1
- package/{chunk-vPGrgL1U.js → chunk-jy8x4GhV.js} +1 -1
- package/{chunk-BS8PXjJJ.js → chunk-ksSA-rDF.js} +1 -1
- package/{chunk-Dn8nZWLd.js → chunk-lymL5FDY.js} +1 -1
- package/{chunk-CAwTsBqQ.js → chunk-mA4J4_nC.js} +1 -1
- package/{chunk-CwKy8pxa.js → chunk-mflQLMHH.js} +1 -1
- package/chunk-nuwlP4Wz.js +14 -0
- package/chunk-uGh0bVbu.js +4 -0
- package/index.html +1 -1
- package/locale/messages.de.json +69 -9
- package/locale/messages.de_CH.json +68 -8
- package/locale/messages.de_DE.json +68 -8
- package/locale/messages.en.json +32 -8
- package/locale/messages.fr.json +77 -13
- package/locale/messages.fr_CA.json +72 -8
- package/locale/messages.fr_FR.json +72 -8
- package/locale/messages.it.json +76 -12
- package/locale/messages.it_IT.json +72 -8
- package/locale/messages.json +32 -8
- package/locale/messages.ko.json +8 -15
- package/locale/messages.nl_BE.json +72 -8
- package/locale/messages.nl_NL.json +72 -8
- package/locale/messages.tr.json +7 -9
- package/locale/messages.zh-Hans.json +159 -16
- package/locale/messages.zh-Hant.json +159 -16
- package/locale/messages.zh.json +159 -16
- package/locale/messages.zh_CN.json +159 -16
- package/locale/messages.zh_HK.json +7 -8
- package/locale/messages.zh_TW.json +159 -16
- package/{main-VVQP2YE7.js → main-3NL5M6JB.js} +13 -13
- package/package.json +1 -1
- package/chunk-B73LRsqH.js +0 -1
- package/chunk-BO2GlieG.js +0 -1
- package/chunk-BaxM-kGV.js +0 -2
- package/chunk-BvGGBIy7.js +0 -1
- package/chunk-CGArETYn.js +0 -1
- package/chunk-CTRzgLM9.js +0 -2
- package/chunk-CTwO6j97.js +0 -1
- package/chunk-Cu4siB3B.js +0 -4
- package/chunk-DTu0ZYnR.js +0 -1
- package/chunk-DYnVzNxt.js +0 -1
- package/chunk-kU0H989B.js +0 -14
- package/chunk-mby7fvmj.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import {F as Fe}from'./chunk-
|
|
1
|
+
import {F as Fe}from'./chunk-DhiIZLrA.js';import {j as jn,G as Gn,T as Tn,Z as Ze,R as Rn,P as Pn,g as gn,h as hn}from'./chunk-B6c2NXNy.js';import {T,ah as fe,ab as C,e as ee,G as Ge,ay as Qu,J as zu,h as hw,_ as _t,c as N,v,Q as Qi,F as Fg,i as Ig,$ as $l,H as Hg,j as jg,n as nC,s as jC,d as aT,C as CE,y as vg,a3 as KC,L as Kg,g as cT,o as oC,ac as I1,b8 as Iw,r as CD,x as _D}from'./main-3NL5M6JB.js';var q=(()=>{class r{constructor(){this.filesOver=Ge(false),this.filesDropped=I1();}onDragOver(t){t.preventDefault(),t.stopPropagation(),this.filesOver.set(true);}onDragLeave(t){t.preventDefault(),t.stopPropagation(),this.filesOver.set(false);}ondrop(t){t.preventDefault(),t.stopPropagation(),this.filesOver.set(false);let e=t.dataTransfer?.files;e&&e.length>0&&this.filesDropped.emit(e);}static{this.\u0275fac=function(e){return new(e||r)};}static{this.\u0275dir=Iw({type:r,selectors:[["","shDragDrop",""]],hostVars:2,hostBindings:function(e,i){e&1&&Hg("dragover",function(c){return i.onDragOver(c)})("dragleave",function(c){return i.onDragLeave(c)})("drop",function(c){return i.ondrop(c)}),e&2&&Kg("filesover",i.filesOver());},outputs:{filesDropped:"filesDropped"}});}}return r})();var Q=()=>["/"];function W(r,o){r&1&&(Qi(0,"sh-form-field")(1,"label",11),nC(2,2),$l(),Ig(3,"input",12),CD(),$l()),r&2&&(CE(3),_D());}var p=new jn,D=class r{#t=T(fe);#e=T(C);#o=T(ee);isRestoring=Ge(false);isSecureFile=Ge(false);importForm=p.group({config:p.control(""),cmdline:p.control(false),importMetadata:p.control(false),direct:p.control(false),passphrase:p.control("")});selectedFile=Ge(null);onFileDropped(o){let e=o.target?.files?.item(0);if(e){let i=new FileReader;this.isSecureFile.set(e.type!=="application/json"),i.onload=this.#i.bind(this),i.readAsArrayBuffer(e);}}#i(o){let t=o.target?.result;this.importForm.patchValue({config:this.#r(t)});}#r(o){let t=new Uint8Array(o),e=t.byteLength,i="";for(let n=0;n<e;n++)i+=String.fromCharCode(t[n]);return btoa(i)}submit(){this.isRestoring.set(true),this.#e.postApiV1BackupsImport({requestBody:this.importForm.value}).pipe(Qu(o=>{let e={Backup:o.data.Backup};return this.#e.postApiV1Backups({requestBody:e,temporary:true})}),zu(()=>this.isRestoring.set(false))).subscribe({next:o=>{this.#o.navigate(["/restore-draft",o.ID]);},error:o=>{this.#t.error(o.message);}});}static \u0275fac=function(t){return new(t||r)};static \u0275cmp=hw({type:r,selectors:[["app-restore-from-config"]],decls:16,vars:7,consts:()=>{let o;o=$localize` Restore from config ${"\uFFFD#3\uFFFD"}:START_TAG_DIV:${"\uFFFD#4\uFFFD"}:START_TAG_BUTTON:${"[\uFFFD#5\uFFFD|\uFFFD#7\uFFFD]"}:START_TAG_SH_ICON:arrow-left${"[\uFFFD/#5\uFFFD|\uFFFD/#7\uFFFD]"}:CLOSE_TAG_SH_ICON: Back ${"[\uFFFD/#4\uFFFD|\uFFFD/#6\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD#6\uFFFD"}:START_TAG_BUTTON_1:${"[\uFFFD#5\uFFFD|\uFFFD#7\uFFFD]"}:START_TAG_SH_ICON:download-simple${"[\uFFFD/#5\uFFFD|\uFFFD/#7\uFFFD]"}:CLOSE_TAG_SH_ICON: Restore ${"[\uFFFD/#4\uFFFD|\uFFFD/#6\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD/#3\uFFFD"}:CLOSE_TAG_DIV:`,o=oC(o);let t;t=$localize`Select a configuration file`;let e;return e=$localize`Passphrase`,[o,t,e,[1,"actions"],["shButton","","type","button",1,"outlined",3,"routerLink"],["shButton","","type","submit",1,"raised","primary",3,"click","disabled"],["autocomplete","off",3,"formGroup"],["shDragDrop","",3,"fileDropped"],["for","file"],["type","file","accept",".json,.aes",3,"change"],["suffix",""],["for","passphrase"],["type","password","autocomplete","disabled","formControlName","passphrase"]]},template:function(t,e){t&1&&(Qi(0,"header")(1,"h3"),Fg(2,0),Qi(3,"div",3)(4,"button",4),Ig(5,"sh-icon"),$l(),Qi(6,"button",5),Hg("click",function(){return e.submit()}),Ig(7,"sh-icon"),$l()(),jg(),$l()(),Qi(8,"form",6)(9,"sh-form-field",7),Hg("fileDropped",function(n){return e.onFileDropped(n)}),Qi(10,"label",8),nC(11,1),$l(),Qi(12,"input",9),Hg("change",function(n){return e.onFileDropped(n)}),$l(),Qi(13,"sh-icon",10),jC(14,"upload"),$l()(),aT(15,W,4,0,"sh-form-field"),$l()),t&2&&(CE(4),vg("routerLink",KC(6,Q)),CE(2),Kg("loading",e.isRestoring()),vg("disabled",e.isRestoring()),CE(2),vg("formGroup",e.importForm),CE(7),cT(e.isSecureFile()?15:-1));},dependencies:[Gn,Tn,Ze,Rn,Pn,gn,hn,_t,q,Fe,N,v],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}"]})};export{D as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
`],encapsulation:2});}}return r})(),o=null,at=(()=>{class r{constructor(){this.shTooltip=
|
|
1
|
+
import {E as E1,z as za,b as me,T,ae as eo,bW as ds,bX as pe,bv as le,G as Ge,b8 as Iw,H as Hg,ag as Yg,L as Kg,N as Nt,bY as Wr,ad as Mr,bC as ED,h as hw,bZ as ei,Q as Qi,d as aT,$ as $l,C as CE,g as cT,aC as yg,bi as cg,k as iC,y as vg,a$ as JC,s as jC,aa as Ql,b_ as wg}from'./main-3NL5M6JB.js';var z=r=>({$implicit:r});function U(r,w){r&1&&wg(0);}function F(r,w){if(r&1&&cg(0,U,1,0,"ng-container",1),r&2){let t=iC();vg("ngTemplateOutlet",t.content())("ngTemplateOutletContext",JC(2,z,t.tooltipContext));}}function $(r,w){if(r&1&&jC(0),r&2){let t=iC();Ql(" ",t.content()," ");}}var X=(()=>{class r{constructor(){this.positionAnchorName=E1.required(),this.anchorEl=E1.required(),this.isOpen=E1(false),this.content=E1(),this.close=E1(()=>{}),this.tooltipContext={close:()=>this.close()()},this.isTemplate=Nt(()=>this.content()instanceof Wr),this.#p=T(Mr),this.#n=T(eo),this.#e=T(ED),this.#t=null,this.SUPPORTS_ANCHOR=typeof CSS<"u"&&CSS.supports("position-anchor","--abc")&&CSS.supports("anchor-name","--abc"),this.isBelow=Ge(false),this.openEffect=za(()=>{if(this.isOpen())queueMicrotask(()=>{let t=this.#n.nativeElement;!t||!t.isConnected||(this.#t&&this.#t.abort(),this.#t=new AbortController,t.showPopover(),this.SUPPORTS_ANCHOR||setTimeout(()=>{this.#i(t).addEventListener("scroll",()=>this.#o(),{signal:this.#t?.signal,passive:true}),window?.addEventListener("resize",()=>this.#o(),{signal:this.#t?.signal,passive:true}),this.#o();}));});else {let t=this.#n.nativeElement;if(t)try{t.matches(":popover-open")&&t.hidePopover();}catch{}this.#t?.abort(),this.#t=null;}}),this.#o=()=>{if(!this.anchorEl())return;let t=this.anchorEl().nativeElement.getBoundingClientRect(),e=this.#n.nativeElement,n=e.getBoundingClientRect();if(n.width===0&&n.height===0)return;let p=8,h=(i,s)=>({left:i.left+i.width/2-s.width/2,top:i.top-s.height-p}),j=[h,(i,s)=>({left:i.right-s.width,top:i.top-s.height-p}),(i,s)=>({left:i.left,top:i.top-s.height-p}),(i,s)=>({left:i.left+i.width/2-s.width/2,top:i.bottom+p}),(i,s)=>({left:i.right-s.width,top:i.bottom+p}),(i,s)=>({left:i.left,top:i.bottom+p})];for(let i of j){let s=i(t,n);if(this.#r(s,n)){this.#s(s,e),this.isBelow.set(s.top>t.top);return}}let v=this.#l(h(t,n),n);this.#s(v,e),this.isBelow.set(v.top>t.top);};}#p;#n;#e;#t;ngOnDestroy(){this.#t?.abort(),this.#t=null;}#i(t){let e=["scroll","auto"],n=t.parentElement;for(;n;){if(e.indexOf(window?.getComputedStyle(n).overflowY)>-1&&n.scrollHeight>n.clientHeight)return n;n=n.parentElement;}return this.#p.documentElement}#o;#s(t,e){this.#e.setStyle(e,"left",`${t.left}px`),this.#e.setStyle(e,"top",`${t.top}px`),this.#e.setStyle(e,"position","fixed"),this.#e.setStyle(e,"margin","0");}#r(t,e){return t.left>=0&&t.top>=0&&t.left+e.width<=window.innerWidth&&t.top+e.height<=window.innerHeight}#l(t,e){return {left:Math.max(0,Math.min(t.left,window.innerWidth-e.width)),top:Math.max(0,Math.min(t.top,window.innerHeight-e.height))}}static{this.\u0275fac=function(e){return new(e||r)};}static{this.\u0275cmp=hw({type:r,selectors:[["ship-tooltip-wrapper"]],hostAttrs:["role","tooltip"],hostVars:5,hostBindings:function(e,n){e&2&&(yg("popover","manual"),Yg("position-anchor",n.positionAnchorName()),Kg("below",n.isBelow()));},inputs:{positionAnchorName:[1,"positionAnchorName"],anchorEl:[1,"anchorEl"],isOpen:[1,"isOpen"],content:[1,"content"],close:[1,"close"]},decls:3,vars:1,consts:[[1,"tooltip-content"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(e,n){e&1&&(Qi(0,"div",0),aT(1,F,1,4,"ng-container")(2,$,1,1),$l()),e&2&&(CE(),cT(n.isTemplate()?1:2));},dependencies:[ei],styles:[`.tooltip{position:relative;display:flex;pointer-events:initial!important}.tooltip:after{content:"";position:absolute;inset:-.5rem;z-index:1}.tooltip.primary+ship-tooltip-wrapper{--tt-bg: var(--primary-2);--tt-c: var(--primary-8)}.tooltip.accent+ship-tooltip-wrapper{--tt-bg: var(--accent-2);--tt-c: var(--accent-8)}.tooltip.warn+ship-tooltip-wrapper{--tt-bg: var(--warn-2);--tt-c: var(--warn-8)}.tooltip.error+ship-tooltip-wrapper{--tt-bg: var(--error-2);--tt-c: var(--error-8)}.tooltip.success+ship-tooltip-wrapper{--tt-bg: var(--success-2);--tt-c: var(--success-8)}.tooltip.active{z-index:1}.tooltip.active+ship-tooltip-wrapper{z-index:1}@supports (anchor-name: --anchor){.tooltip.active+ship-tooltip-wrapper .tooltip-content{transform:translateY(0) scaleY(1) scaleX(1)}}ship-tooltip-wrapper{--tt-bg: var(--base-3);--tt-c: var(--base-12);--tt-mh: 8.5rem;--tt-mw: 17.5rem;--tt-translate-y: 50%;position:fixed;font:var(--paragraph-30);width:max-content;overflow:visible;box-shadow:none;background:transparent;border:0;padding:0;margin:0;margin-block-end:.75rem}@supports (anchor-name: --anchor){ship-tooltip-wrapper{inset:unset;justify-self:anchor-center;bottom:anchor(top);position:fixed;position-try-order:normal;position-try-fallbacks:flip-block,flip-inline,flip-block flip-inline}}ship-tooltip-wrapper:before{content:"";position:absolute;bottom:-.75rem;top:auto;left:50%;z-index:1;transform:translate(-50%);border-width:.375rem;border-style:solid;border-color:transparent;border-top-color:var(--tt-bg);width:0;height:0;opacity:1}ship-tooltip-wrapper.below{--tt-translate-y: -50%}ship-tooltip-wrapper.below:before{border-top-color:transparent;border-bottom-color:var(--tt-bg);top:-.75rem;bottom:auto}@supports not (anchor-name: --anchor){ship-tooltip-wrapper.below{margin-block-start:.75rem;margin-block-end:0}}ship-tooltip-wrapper .tooltip-content{padding:.5rem .75rem;position:relative;hyphens:auto;text-wrap:pretty;color:var(--tt-c);max-height:var(--tt-mh);max-width:var(--tt-mw);overflow:auto;background:var(--tt-bg);border-radius:var(--shape-2);box-shadow:var(--box-shadow-20)}@supports (anchor-name: --anchor){ship-tooltip-wrapper .tooltip-content{transform:translateY(var(--tt-translate-y)) scaleY(0) scaleX(.8);transition:transform 125ms linear}}
|
|
2
|
+
`],encapsulation:2});}}return r})(),o=null,at=(()=>{class r{constructor(){this.shTooltip=E1.required(),this.#p=za(()=>{let t=this.shTooltip();me(()=>{this.isOpen()&&o?.component===this&&o?.wrapperComponentRef&&(o.wrapperComponentRef.setInput("content",t),o.wrapperComponentRef.changeDetectorRef.detectChanges());});}),this.#n=T(eo),this.#e=T(ds),this.#t=T(pe),this.#i=null,this.#o=50,this.anchorName=`--${le()}`,this.isOpen=Ge(false),this.destroyTimeout=null;}#p;#n;#e;#t;#i;#o;onMouseEnter(t){t.stopPropagation(),o&&o.component.anchorName!==this.anchorName?o.component.#a(true):this.#r(),this.#l();}onMouseLeave(t){t.stopPropagation(),this.#s();}ngOnDestroy(){this.#r(),o?.component===this&&this.#a(true);}#s(){this.#r(),this.#i=setTimeout(()=>{this.#a();},this.#o);}#r(){this.#i&&(clearTimeout(this.#i),this.#i=null),this.destroyTimeout&&(clearTimeout(this.destroyTimeout),this.destroyTimeout=null);}#l(){if(o?.wrapperComponentRef||!this.shTooltip()){o?.component===this&&o?.wrapperComponentRef&&o.wrapperComponentRef.setInput("content",this.shTooltip());return}o={wrapperComponentRef:this.#e.createComponent(X,{environmentInjector:this.#t}),component:this},o.wrapperComponentRef.setInput("positionAnchorName",this.anchorName),o.wrapperComponentRef.setInput("anchorEl",this.#n),o.wrapperComponentRef.setInput("isOpen",this.isOpen),o.wrapperComponentRef.setInput("content",this.shTooltip()),o.wrapperComponentRef.setInput("close",()=>this.#a(true)),o.wrapperComponentRef.changeDetectorRef.detectChanges(),o.wrapperComponentRef.location.nativeElement.addEventListener("mouseenter",t=>{t.stopPropagation(),this.#r();}),o.wrapperComponentRef.location.nativeElement.addEventListener("mouseleave",t=>{t.stopPropagation(),this.#s();}),setTimeout(()=>{this.isOpen.set(true);});}#a(t=false){if(o?.wrapperComponentRef){if(o.component!==this&&!t)return;let e=o.wrapperComponentRef,n=o.component;n.#r(),n.isOpen.set(false);try{e.location.nativeElement.hidePopover();}catch{}t?(e.destroy(),o?.wrapperComponentRef===e&&(o=null)):n.destroyTimeout=setTimeout(()=>{queueMicrotask(()=>{e.destroy(),o?.wrapperComponentRef===e&&(o=null);});},this.#o);}}static{this.\u0275fac=function(e){return new(e||r)};}static{this.\u0275dir=Iw({type:r,selectors:[["","shTooltip",""]],hostAttrs:[1,"tooltip"],hostVars:4,hostBindings:function(e,n){e&1&&Hg("mouseenter",function(h){return n.onMouseEnter(h)})("mouseleave",function(h){return n.onMouseLeave(h)}),e&2&&(Yg("anchor-name",n.anchorName),Kg("active",n.isOpen()));},inputs:{shTooltip:[1,"shTooltip"]}});}}return r})();export{at as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import {G}from'./chunk-
|
|
1
|
+
import {G}from'./chunk-DV8bRznt.js';import v from'./chunk-C7AeY2HY.js';import'./chunk-Bj7EyCHb.js';import'./chunk-I5dxaHZ4.js';import {i as ie$1}from'./chunk-D2G7_0hG.js';import'./chunk-8Y8ReLEn.js';import'./chunk-BmmYJhOf.js';import'./chunk-nuwlP4Wz.js';import'./chunk-bt6lhYfG.js';import'./chunk-BZgAzrl9.js';import'./chunk-h6n5A491.js';import'./chunk-aCJqF9DH.js';import'./chunk-DXEgz1tV.js';import'./chunk-Dz5guW4b.js';import {m}from'./chunk-CyqqlRjO.js';import'./chunk-CX3Axjpk.js';import'./chunk-mA4J4_nC.js';import'./chunk-C3gUxHQM.js';import'./chunk-DidJB9ig.js';import {T,ab as C,bj as Q$1,aX as y,aw as W,G as Ge,N as Nt,h as hw,c as N,aH as m$1,bh as pi,Q as Qi,d as aT,n as nC,$ as $l,i as Ig,C as CE,g as cT,y as vg,aP as ql,aQ as Gl,k as iC,F as Fg,j as jg,au as Vg,av as rC,as as qd,bk as Gd,s as jC,aM as ob,aB as sm,aR as sb}from'./main-3NL5M6JB.js';import {f as f$1}from'./chunk-B1c7h-_w.js';import {d}from'./chunk-DDWDcSq2.js';import'./chunk-DhiIZLrA.js';import'./chunk-B6c2NXNy.js';import'./chunk-MDqH8T3Z.js';import'./chunk-mflQLMHH.js';import'./chunk-CuJ_uEdr.js';import'./chunk-D1pDZLJ9.js';import'./chunk-DGvC49aU.js';function Q(n,t){n&1&&(Qi(0,"div",17),qd(),Qi(1,"svg",19),Ig(2,"circle",20),$l(),Gd(),Qi(3,"sh-icon",21),nC(4,3),$l()());}function U(n,t){n&1&&(Qi(0,"div",18),qd(),Qi(1,"svg",19),Ig(2,"circle",20),$l(),Gd(),Qi(3,"sh-icon",22),nC(4,4),$l()());}function Y(n,t){if(n&1&&(Qi(0,"sh-card",10),ql(1,16),nC(2,2),Gl(),aT(3,Q,5,0,"div",17)(4,U,5,0,"div",18),$l()),n&2){let e=iC();CE(3),cT(e.restoreResult()=="success"?3:4);}}function ee(n,t){if(n&1&&(jC(0),ob(1,"number"),ob(2,"number")),n&2){let e=iC(2);sm(" ",sb(1,2,e.statusData()?.ProcessedFileCount)," of ",sb(2,4,e.statusData()?.TotalFileCount)," ");}}function te(n,t){n&1&&(ql(0),nC(1,8),Gl());}function ne(n,t){if(n&1&&(jC(0),ob(1,"bytes"),ob(2,"bytes")),n&2){let e=iC(2);sm(" ",sb(1,2,e.statusData()?.ProcessedFileSize)," of ",sb(2,4,e.statusData()?.TotalFileSize)," ");}}function oe(n,t){n&1&&(ql(0),nC(1,9),Gl());}function ie(n,t){if(n&1&&(Qi(0,"sh-card",10)(1,"h3"),Fg(2,5),Ig(3,"sh-spinner",23),jg(),$l(),Qi(4,"div",24),Ig(5,"sh-progress-bar",25),Qi(6,"p")(7,"span"),nC(8,6),$l(),aT(9,ee,3,6)(10,te,2,0,"ng-container"),$l(),Qi(11,"p")(12,"span"),nC(13,7),$l(),aT(14,ne,3,6)(15,oe,2,0,"ng-container"),$l()()()),n&2){let e=iC();CE(3),Vg(e.statusData()?.statusText),rC(2),CE(2),vg("value",e.statusData()?.OverallProgress),CE(4),cT(e.statusData()?.ProcessedFileCount?9:10),CE(5),cT(e.statusData()?.ProcessedFileSize?14:15);}}var f=class n{#i=T(C);#r=T(Q$1);#t=T(y);#n=T(G);#s=T(W);statusData=this.#t.statusData;backupId=this.#n.backupId;restoreResult=Ge("");#e=null;lastRestoreStarted=Nt(()=>{if(this.#e)return this.#e;let t=this.#t.statusData()?.backup?.Backup?.Metadata?.LastRestoreStarted??null;if(!t)return null;let e=this.fixDate(t);return this.#e=e,e});notificationFilterPredicate=()=>{let t=this.lastRestoreStarted();return {predicate:e=>(e.BackupID===this.#n.backupId()&&t&&t.getTime()<=new Date(e.Timestamp).getTime())??false}};ngOnInit(){let t=this.#s.snapshot.params.taskid?.toString()??"";this.#i.getApiV1TaskByTaskid({taskid:t}).subscribe({next:e=>{if(e.TaskStarted&&(this.#e=new Date(e.TaskStarted)),!e.TaskFinished&&e.ID){this.#_(e.ID);return}this.#o(e);},error:e=>{console.error("Error fetching task:",e),this.restoreResult.set("error"),alert("Failed to fetch task details. Please try again later.");}});}#_(t){this.#r.waitForTaskToComplete(t).subscribe(e=>{this.#o(e);});}#o(t){t.TaskFinished!=null&&this.restoreResult.set(t.Status==="Completed"&&t.ErrorMessage==null?"success":"error");}fixDate(t){return new Date(`${t.slice(0,4)}-${t.slice(4,6)}-${t.slice(6,8)}T${t.slice(9,11)}:${t.slice(11,13)}:${t.slice(13,15)}Z`)}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=hw({type:n,selectors:[["app-restore-progress"]],decls:12,vars:5,consts:()=>{let t;t=$localize`Notifications`;let e;e=$localize`Logs`;let a;a=$localize`Restore completed`;let M;M=$localize`check-bold`;let N;N=$localize`warning-octagon`;let G;G=$localize` Restore progress: ${"\uFFFD0\uFFFD"}:INTERPOLATION: ${"\uFFFD#3\uFFFD"}:START_TAG_SH_SPINNER:${"\uFFFD/#3\uFFFD"}:CLOSE_TAG_SH_SPINNER:`;let h;h=$localize`Files processed:`;let F;F=$localize`Size processed:`;let L;L=$localize`N/A`;let y;return y=$localize`N/A`,[t,e,a,M,N,G,h,F,L,y,[1,"progress","type-a"],[1,"notifications","type-a"],[1,"notification-list"],[3,"notificationFilterPredicate"],[1,"logs","type-a"],[3,"polling","whenFilter","backupIdFilter"],["title",""],[1,"complete-success"],[1,"complete-failure"],[1,"border-svg"],["cx","50","cy","50","r","45",1,"border-circle"],[1,"success"],[1,"error"],[1,"primary"],[1,"progress-content"],[3,"value"]]},template:function(e,a){e&1&&(Qi(0,"section"),aT(1,Y,5,1,"sh-card",10)(2,ie,16,4,"sh-card",10),Qi(3,"sh-card",11)(4,"h3"),nC(5,0),$l(),Qi(6,"div",12),Ig(7,"app-notifications",13),$l()(),Qi(8,"sh-card",14)(9,"h3"),nC(10,1),$l(),Ig(11,"app-logs-live",15),$l()()),e&2&&(CE(),cT(a.restoreResult()!=""?1:2),CE(6),vg("notificationFilterPredicate",a.notificationFilterPredicate()),CE(4),vg("polling",a.restoreResult()=="")("whenFilter",a.lastRestoreStarted()?.getTime())("backupIdFilter",a.backupId()));},dependencies:[v,d,m,N,f$1,ie$1,m$1,pi],styles:['[_nghost-%COMP%]{display:block;padding:0 1.25rem;margin-top:32px}section[_ngcontent-%COMP%]{display:grid;gap:1.25rem;grid-template-columns:2fr 1fr;grid-template-areas:"progress notifications" "logs logs"}section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin-bottom:1rem}section[_ngcontent-%COMP%] .progress[_ngcontent-%COMP%]{grid-area:progress}section[_ngcontent-%COMP%] .progress[_ngcontent-%COMP%]:has(.complete-check){display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem}section[_ngcontent-%COMP%] .progress[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}section[_ngcontent-%COMP%] .progress[_ngcontent-%COMP%] sh-spinner[_ngcontent-%COMP%]{--spinner-size: 1.25rem;--spinner-thickness: .1875rem}section[_ngcontent-%COMP%] .notifications[_ngcontent-%COMP%]{grid-area:notifications}section[_ngcontent-%COMP%] .logs[_ngcontent-%COMP%]{grid-area:logs}section[_ngcontent-%COMP%] .logs[_ngcontent-%COMP%] app-logs-live[_ngcontent-%COMP%]{max-height:50rem;overflow:auto}.notification-list[_ngcontent-%COMP%]{max-height:15rem;overflow:auto}.complete-success[_ngcontent-%COMP%]{position:relative;width:6.25rem;height:6.25rem;display:flex;justify-content:center;align-items:center;color:var(--success-8)}.complete-success[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{font-size:2.5rem;opacity:0;animation:_ngcontent-%COMP%_reveal-icon .2s linear forwards;animation-delay:1s}.complete-success[_ngcontent-%COMP%] .border-circle[_ngcontent-%COMP%]{fill:none;stroke:var(--success-8)}.complete-failure[_ngcontent-%COMP%]{position:relative;width:6.25rem;height:6.25rem;display:flex;justify-content:center;align-items:center;color:var(--error-8)}.complete-failure[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{font-size:2.5rem;opacity:0;animation:_ngcontent-%COMP%_reveal-icon .2s linear forwards;animation-delay:1s}.complete-failure[_ngcontent-%COMP%] .border-circle[_ngcontent-%COMP%]{fill:none;stroke:var(--error-8)}.border-svg[_ngcontent-%COMP%]{position:absolute;top:0;left:0;width:100%;height:100%}.border-circle[_ngcontent-%COMP%]{fill:none;stroke-width:.3125rem;stroke-dasharray:282.74;stroke-dashoffset:282.74;animation:_ngcontent-%COMP%_draw-border 1.2s linear forwards}@keyframes _ngcontent-%COMP%_draw-border{to{stroke-dashoffset:0}}@keyframes _ngcontent-%COMP%_reveal-icon{to{opacity:1}}.progress-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.progress-content[_ngcontent-%COMP%] sh-progress-bar[_ngcontent-%COMP%]{margin-bottom:.75rem}.progress-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{margin-right:.25rem}']})};export{f as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import {f}from'./chunk-
|
|
1
|
+
import {f}from'./chunk-B1c7h-_w.js';import {d}from'./chunk-DDWDcSq2.js';import {F as Fe$1}from'./chunk-DhiIZLrA.js';import {B as Bn,Z as Ze,R as Rn,J as Jt}from'./chunk-B6c2NXNy.js';import {T,e as ee,I,m,a as T$1,G as Ge,E as E1,N as Nt,q as qe,z as za,b as me$1,h as hw,_ as _t,v,u as ue$1,c as N,Q as Qi,d as aT,$ as $l,f as NC,t as tb,C as CE,g as cT,o as oC,F as Fg,j as jg,i as Ig,k as iC,l as vT,n as nC,p as lm,O as Od,U as UC,P as Pd,r as CD,s as jC,H as Hg,w as cm,x as _D,y as vg}from'./main-3NL5M6JB.js';import {S,C}from'./chunk-mflQLMHH.js';import {O}from'./chunk-CuJ_uEdr.js';import'./chunk-DGvC49aU.js';var re=(n,t,e,i,o)=>({"loading-state":n,"ready-to-add-link":t,"is-connected":e,"failed-to-connect":i,"is-registered":o});function ae(n,t){n&1&&nC(0,0,1);}function le(n,t){n&1&&nC(0,0,2);}function se(n,t){if(n&1){let e=vT();Qi(0,"button",10),Hg("click",function(){Od(e);let o=iC(2);return Pd(o.cancel())}),jC(1,"Cancel registration"),$l();}}function ce(n,t){if(n&1&&(Qi(0,"div",7)(1,"p"),Fg(2,0),aT(3,ae,1,0)(4,le,1,0),jg(),$l(),Ig(5,"sh-progress-bar",8),aT(6,se,2,0,"button",9),$l()),n&2){let e=iC();CE(3),cT(e.state()==="unknown"?3:4),CE(3),cT((e.registeringCounter()??0)>=5&&e.state()==="registering"?6:-1);}}function de(n,t){if(n&1){let e=vT();Qi(0,"sh-form-field")(1,"label",11),nC(2,1),$l(),Qi(3,"input",12),lm("ngModelChange",function(o){Od(e);let C=iC();return UC(C.customRegisterUrl,o)||(C.customRegisterUrl=o),Pd(o)}),$l(),CD(),$l(),Qi(4,"div",13)(5,"button",14),jC(6,"Go back"),$l(),Qi(7,"button",15),Hg("click",function(){Od(e);let o=iC();return Pd(o.registerViaCustomUrl())}),nC(8,2),$l()();}if(n&2){let e=iC();CE(3),cm("ngModel",e.customRegisterUrl),_D(),CE(4),vg("disabled",!e.customRegisterUrlValid());}}function _e(n,t){if(n&1){let e=vT();Qi(0,"p"),nC(1,3),$l(),Ig(2,"sh-progress-bar",8),Qi(3,"button",10),Hg("click",function(){Od(e);let o=iC(2);return Pd(o.retryWhenFaulted())}),jC(4,"Cancel"),$l();}}function ue(n,t){if(n&1){let e=vT();Qi(0,"p"),nC(1,4),$l(),Qi(2,"button",10),Hg("click",function(){Od(e);let o=iC(2);return Pd(o.retryWhenFaulted())}),jC(3,"Retry"),$l();}}function Ce(n,t){if(n&1&&aT(0,_e,5,0)(1,ue,4,0),n&2){let e=iC();cT(e.claimUrl()!==null?0:1);}}function ge(n,t){n&1&&(Fg(0,5,1),Ig(1,"p"),jg());}function me(n,t){n&1&&(Fg(0,5,2),Ig(1,"p"),jg());}function Fe(n,t){if(n&1){let e=vT();Qi(0,"sh-alert",16),Fg(1,5),aT(2,ge,2,0,"p")(3,me,2,0,"p"),jg(),$l(),Qi(4,"button",10),Hg("click",function(){Od(e);let o=iC();return Pd(o.retryWhenFaulted())}),jC(5," Retry "),Qi(6,"sh-icon"),jC(7,"arrow-arc-left"),$l()();}if(n&2){let e=iC();CE(2),cT(e.typeParam()==="link"?2:3);}}function fe(n,t){n&1&&(Qi(0,"h3"),jC(1,"Successfully connected"),$l(),Qi(2,"p"),jC(3,"We're going to redirect you to the home page"),$l());}var R=class n{#n=T(ee);#a=T(S);#e=T(C);#i=T(O);#l=T(I);#s=T(m);#c=T(T$1);isOldOpen=Ge(false);typeParam=E1.required();state=this.#e.state;claimUrl=this.#e.claimUrl;registerUrl=this.#e.registerUrl;customRegisterUrl=this.#e.customRegisterUrl;additionalReportingUrl=Nt(()=>{let t=this.#i.serverSettings();return this.#e.state()==="inactive"?"":t&&t["additional-report-url"]||""});copiedReportingUrl=Ge(false);customRegisterUrlValid=Nt(()=>{let t=this.customRegisterUrl(),e=/^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$/;return !(t.length===0||!e.test(t))});registeringCounter=Ge(null);didTry=false;triedFinishConnection=false;#t=null;#d=T(qe);constructor(){this.#d.onDestroy(()=>{this.#r();});}ngAfterViewInit(){(this.#l.relayIsEnabled()||!this.#s.hasWebSocket()?"longpoll":"websocket")==="websocket"&&this.#c.reconnectIfNeeded();}stateEffect=za(()=>{let t=this.#e.registerUrl(),e=this.state(),i=this.typeParam();e==="inactive"&&i==="logon"&&t!==""&&(this.didTry||(this.didTry=true,queueMicrotask(()=>this.#e.beginRemoteRegistration()))),e==="registered"&&(this.triedFinishConnection||me$1(()=>this.claimUrl())!==null&&(this.triedFinishConnection=true,this.#_())),e==="registering"?me$1(()=>{this.registeringCounter()===null&&this.registeringCounter.set(0),this.#o();}):(this.#r(),me$1(()=>this.registeringCounter.set(null))),(e==="connected"||e==="disabled"||e==="connecting")&&queueMicrotask(()=>{this.#i.setShownWelcomePage().subscribe(()=>{this.#n.navigate([""]);});});});#o(){this.#t!==null&&clearTimeout(this.#t),this.#t=setTimeout(()=>{this.#t=null;let t=this.registeringCounter()??0;this.registeringCounter.set(t+1),this.state()==="registering"&&this.#o();},1e3);}#r(){this.#t!==null&&(clearTimeout(this.#t),this.#t=null);}ngOnInit(){this.#e.refreshRemoteControlStatus();}#_(){let t=this.#e.claimUrl();this.#a.open(`${t}?closeAfterConnection=true`,"_blank");}registerViaCustomUrl(){this.#e.beginRemoteRegistration(true);}retryWhenFaulted(){this.#e.cancelRemoteRegistration(),this.customRegisterUrl.set(""),this.didTry=false,this.triedFinishConnection=false,this.typeParam()==="logon"&&this.#n.navigate(["/welcome/select"]);}cancel(){this.#e.cancelRemoteRegistration();}register(){this.#e.beginRemoteRegistration();}disable(){this.#e.disableRemoteControl();}enable(){this.#e.enableRemoteControl();}delete(){this.#e.deleteRemoteControl();}copyReportingUrl(){let t=this.additionalReportingUrl();t&&(this.copiedReportingUrl.set(true),setTimeout(()=>this.copiedReportingUrl.set(false),2e3),navigator.clipboard.writeText(t));}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=hw({type:n,selectors:[["app-connect"]],inputs:{typeParam:[1,"typeParam"]},decls:6,vars:13,consts:()=>{let t;t=$localize`${"\uFFFD*3:1\uFFFD"}:START_BLOCK_IF: Loading... ${"\uFFFD/*3:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*4:2\uFFFD"}:START_BLOCK_ELSE: Connecting to console ${"\uFFFD/*4:2\uFFFD"}:CLOSE_BLOCK_ELSE:`;let e;e=$localize`Paste registration URL here`;let i;i=$localize` Connect machine to console `;let o;o=$localize`We're now connecting you to the console`;let C;C=$localize`Something failed during registration we're missing claimUrl, please try again`;let m;return m=$localize` Failed to register ${"\uFFFD*2:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_PARAGRAPH: Check if the connection link are correct, alternatively it could be your internet connection or the service might be down ${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_PARAGRAPH:${"\uFFFD/*2:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*3:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_PARAGRAPH: There might be a problem with your internet connection or the service might be down, please try again later ${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_PARAGRAPH:${"\uFFFD/*3:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,m=oC(m),[t,e,i,o,C,m,[1,"main-card","type-b"],[1,"loader-content"],[1,"primary","indeterminate"],["shButton",""],["shButton","",3,"click"],["for","remoteControlRegisterUrl"],["type","text","id","remoteControlRegisterUrl","name","remoteControlRegisterUrl",3,"ngModelChange","ngModel"],[1,"nav-buttons"],["type","button","shButton","","routerLink","/welcome",1,"raised"],["type","button","shButton","",1,"raised","primary",3,"click","disabled"],[1,"error"]]},template:function(e,i){if(e&1&&(Qi(0,"sh-card",6),aT(1,ce,7,2,"div",7),aT(2,de,9,2),aT(3,Ce,2,1),aT(4,Fe,8,1),aT(5,fe,4,0),$l()),e&2){let o=i.state()==="unknown"||i.typeParam()!=="link"&&i.state()==="inactive"||i.state()==="registering",C=i.typeParam()==="link"&&i.state()==="inactive",m=i.state()==="connected"||i.state()==="disabled"||i.state()==="connecting",g=i.state()==="registeringfaulted";NC(tb(7,re,o,C,m,g,i.state()==="registered")),CE(),cT(o?1:-1),CE(),cT(C?2:-1),CE(),cT(i.state()==="registered"?3:-1),CE(),cT(g?4:-1),CE(),cT(m?5:-1);}},dependencies:[_t,Bn,Ze,Rn,Jt,Fe$1,v,d,f,ue$1,N],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:100%;width:100%;flex:1 0;overflow:hidden;padding:2rem}@media only screen and (max-width:768px){[_nghost-%COMP%]{padding:1rem}}.main-card[_ngcontent-%COMP%]{width:100%;height:100%;max-width:31.25rem;max-height:min-content;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1rem;padding:2rem}.main-card.failed-to-connect[_ngcontent-%COMP%] sh-alert[_ngcontent-%COMP%]{width:100%}.main-card.failed-to-connect[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:100%}.main-card.is-registered[_ngcontent-%COMP%], .main-card.is-connected[_ngcontent-%COMP%]{align-items:center}.loader-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;width:100%}.loader-content[_ngcontent-%COMP%] sh-progress-bar[_ngcontent-%COMP%]{--pb-b: var(--base-3);border:1px solid var(--pb-b)}.field-row[_ngcontent-%COMP%]{display:flex;gap:.5rem;width:100%}.field-row[_ngcontent-%COMP%] sh-form-field[_ngcontent-%COMP%], .field-row[_ngcontent-%COMP%] sh-select[_ngcontent-%COMP%]{flex:1 0}.reporting-url[_ngcontent-%COMP%]{cursor:pointer;-webkit-user-select:none;user-select:none;margin-top:.25rem}.state[_ngcontent-%COMP%]{position:fixed;top:1rem;right:1rem;margin:0;color:var(--base-7);font-size:.75rem}.old[_ngcontent-%COMP%]{display:flex;flex-direction:column;position:relative;gap:.5rem;padding:1rem;border:1px solid var(--base-4);background:var(--base-1);position:fixed;top:0;right:0;bottom:0;width:35rem;transform:translate(100%)}.old.open[_ngcontent-%COMP%]{transform:translate(0)}.old[_ngcontent-%COMP%] .toggle[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;position:absolute;background-color:var(--base-1);border:1px solid var(--base-4);border-width:.0625rem 0 .0625rem .0625rem;width:2rem;height:2.5rem;border-radius:var(--shape-2) 0 0 var(--shape-2);top:3.75rem;left:-2rem;-webkit-user-select:none;user-select:none}.old[_ngcontent-%COMP%] .toggle[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{font-size:1rem}.nav-buttons[_ngcontent-%COMP%]{display:flex;gap:.5rem;flex-direction:row}"]})};export{R as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {T,ae as eo,
|
|
1
|
+
import {T,ae as eo,bu as N,D as w1,bU as B$1,af as D1,E as E1,bb as ce,h as hw,S as aC,V as Ul,W as Eg,X as Wl,Y as cC,d as aT,C as CE,g as cT,H as Hg,aC as yg,f as NC,M as qg,R as fC,l as vT,an as Bg,O as Od,k as iC,P as Pd,aq as Tg}from'./main-3NL5M6JB.js';var H=["internalInput"],z=["*"];function B(g,K){if(g&1){let o=vT();Ul(0,"input",4,0),Bg("change",function(t){Od(o);let c=iC();return Pd(c.onInternalInputChange(t))}),Wl();}if(g&2){let o=iC();Tg("checked",o.checked()),yg("disabled",o.disabled()?"":null);}}var J=(()=>{class g{constructor(){this.#e=T(eo),this.#t=T(N),this.internalInput=w1("internalInput"),this.projectedInputs=B$1("input:not(.internal-input)",{childList:true,attributes:true}),this.checked=D1(false),this.color=E1(null),this.variant=E1(null),this.readonly=E1(false),this.disabled=E1(false),this.noInternalInput=E1(false),this.hostClasses=ce("toggle",{color:this.color,variant:this.variant,readonly:this.readonly});}#e;#t;onInternalInputChange(o){if(this.disabled())return;let e=o.target;this.checked.set(e.checked);}onKeyDown(o){if(this.#t.matches(o,"toggle.toggle")){let e=this.internalInput()?.nativeElement;e&&getComputedStyle(e).display!=="none"?e.click():this.#e.nativeElement.click(),o.preventDefault();}}static{this.\u0275fac=function(e){return new(e||g)};}static{this.\u0275cmp=hw({type:g,selectors:[["sh-toggle"]],viewQuery:function(e,t){e&1&&qg(t.internalInput,H,5),e&2&&fC();},hostVars:6,hostBindings:function(e,t){e&1&&Hg("keydown",function(V){return t.onKeyDown(V)}),e&2&&(yg("disabled",t.disabled()?"":null)("role",t.noInternalInput()?"switch":null)("aria-checked",t.noInternalInput()?t.checked():null)("tabindex",t.noInternalInput()?t.disabled()?"-1":"0":null),NC(t.hostClasses()));},inputs:{checked:[1,"checked"],color:[1,"color"],variant:[1,"variant"],readonly:[1,"readonly"],disabled:[1,"disabled"],noInternalInput:[1,"noInternalInput"]},outputs:{checked:"checkedChange"},ngContentSelectors:z,decls:4,vars:1,consts:[["internalInput",""],[1,"box"],[1,"knob"],["type","checkbox",1,"internal-input",3,"checked"],["type","checkbox",1,"internal-input",3,"change","checked"]],template:function(e,t){e&1&&(aC(),Ul(0,"div",1),Eg(1,"div",2),Wl(),cC(2),aT(3,B,2,2,"input",3)),e&2&&(CE(3),cT(t.projectedInputs().length===0&&!t.noInternalInput()?3:-1));},styles:[`sh-toggle{--toggle-bg: var(--base-4);--toggle-b: 0;--togglek-bg: var(--base-2);--togglek-bs: var(--box-shadow-20);display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}sh-toggle:focus-visible>.box,sh-toggle:has(input:focus-visible)>.box{outline:2px solid var(--primary-8);outline-offset:2px}sh-toggle label{display:flex;align-items:center;gap:.5rem;position:relative;z-index:1}sh-toggle .box{display:block;width:2.125rem;min-width:2.125rem;height:1.25rem;cursor:pointer;position:relative;border-radius:999px;background:var(--toggle-bg);border:var(--toggle-b);transition:background .15s linear}sh-toggle>input[type=checkbox]{appearance:none;position:absolute;inset:0;cursor:pointer;z-index:0;margin:0}sh-toggle>input[type=checkbox]:focus,sh-toggle>input[type=checkbox]:focus-visible{outline:none}sh-toggle:has(>input:not(.internal-input))>input.internal-input{display:none}sh-toggle:has(input[disabled]),sh-toggle[disabled]:not([disabled=false]){opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none;cursor:initial}sh-toggle .knob{position:absolute;top:.125rem;left:.125rem;width:1rem;height:1rem;border-radius:50%;background:var(--togglek-bg);box-shadow:var(--togglek-bs);box-sizing:border-box;transition:left 125ms ease-in-out}sh-toggle:has(input[type=checkbox]:checked),sh-toggle.active{--togglek-bg: var(--base-8)}sh-toggle:has(input[type=checkbox]:checked) .knob,sh-toggle.active .knob{left:1rem}sh-toggle:has(input[type=checkbox]:checked).primary,sh-toggle.active.primary{--toggle-bg: var(--primary-3);--togglek-bg: var(--primary-8)}sh-toggle:has(input[type=checkbox]:checked).accent,sh-toggle.active.accent{--toggle-bg: var(--accent-3);--togglek-bg: var(--accent-8)}sh-toggle:has(input[type=checkbox]:checked).warn,sh-toggle.active.warn{--toggle-bg: var(--warn-3);--togglek-bg: var(--warn-8)}sh-toggle:has(input[type=checkbox]:checked).error,sh-toggle.active.error{--toggle-bg: var(--error-3);--togglek-bg: var(--error-8)}sh-toggle:has(input[type=checkbox]:checked).success,sh-toggle.active.success{--toggle-bg: var(--success-3);--togglek-bg: var(--success-8)}sh-toggle.outlined{--toggle-bg: var(--base-1);--togglek-bg: var(--base-5);--togglek-bs: none;--toggle-b: 1px solid var(--base-5)}sh-toggle.outlined .knob{width:.875rem;height:.875rem}sh-toggle.outlined.active{--togglek-bg: var(--base-8);--toggle-b: 1px solid var(--base-8)}sh-toggle.outlined.active.primary{--togglek-bg: var(--primary-8);--toggle-b: 1px solid var(--primary-8)}sh-toggle.outlined.active.accent{--togglek-bg: var(--accent-8);--toggle-b: 1px solid var(--accent-8)}sh-toggle.outlined.active.warn{--togglek-bg: var(--warn-8);--toggle-b: 1px solid var(--warn-8)}sh-toggle.outlined.active.error{--togglek-bg: var(--error-8);--toggle-b: 1px solid var(--error-8)}sh-toggle.outlined.active.success{--togglek-bg: var(--success-8);--toggle-b: 1px solid var(--success-8)}sh-toggle.simple{--togglek-bg: #fff}sh-toggle.simple:has(input[type=checkbox]:checked),sh-toggle.simple.active{--togglek-bg: var(--base-8)}sh-toggle.simple:has(input[type=checkbox]:checked).primary,sh-toggle.simple.active.primary{--togglek-bg: var(--primary-8);--toggle-bg: var(--primary-3)}sh-toggle.simple:has(input[type=checkbox]:checked).accent,sh-toggle.simple.active.accent{--togglek-bg: var(--accent-8);--toggle-bg: var(--accent-3)}sh-toggle.simple:has(input[type=checkbox]:checked).warn,sh-toggle.simple.active.warn{--togglek-bg: var(--warn-8);--toggle-bg: var(--warn-3)}sh-toggle.simple:has(input[type=checkbox]:checked).error,sh-toggle.simple.active.error{--togglek-bg: var(--error-8);--toggle-bg: var(--error-3)}sh-toggle.simple:has(input[type=checkbox]:checked).success,sh-toggle.simple.active.success{--togglek-bg: var(--success-8);--toggle-bg: var(--success-3)}sh-toggle.flat{--togglek-bg: #fff}sh-toggle.flat:has(input[type=checkbox]:checked),sh-toggle.flat.active{--togglek-bg: #fff;--toggle-bg: var(--base-8)}sh-toggle.flat:has(input[type=checkbox]:checked).primary,sh-toggle.flat.active.primary{--toggle-bg: var(--primary-8)}sh-toggle.flat:has(input[type=checkbox]:checked).accent,sh-toggle.flat.active.accent{--toggle-bg: var(--accent-8)}sh-toggle.flat:has(input[type=checkbox]:checked).warn,sh-toggle.flat.active.warn{--toggle-bg: var(--warn-8)}sh-toggle.flat:has(input[type=checkbox]:checked).error,sh-toggle.flat.active.error{--toggle-bg: var(--error-8)}sh-toggle.flat:has(input[type=checkbox]:checked).success,sh-toggle.flat.active.success{--toggle-bg: var(--success-8)}sh-toggle.raised{--togglek-bg: #fff}sh-toggle.raised:has(input[type=checkbox]:checked),sh-toggle.raised.active{--toggle-bg: var(--base-g2);--togglek-bg: #fff}sh-toggle.raised:has(input[type=checkbox]:checked).primary,sh-toggle.raised.active.primary{--toggle-bg: var(--primary-g2)}sh-toggle.raised:has(input[type=checkbox]:checked).accent,sh-toggle.raised.active.accent{--toggle-bg: var(--accent-g2)}sh-toggle.raised:has(input[type=checkbox]:checked).warn,sh-toggle.raised.active.warn{--toggle-bg: var(--warn-g2)}sh-toggle.raised:has(input[type=checkbox]:checked).error,sh-toggle.raised.active.error{--toggle-bg: var(--error-g2)}sh-toggle.raised:has(input[type=checkbox]:checked).success,sh-toggle.raised.active.success{--toggle-bg: var(--success-g2)}
|
|
2
2
|
`],encapsulation:2});}}return g})();export{J};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import {e as ee$1}from'./chunk-
|
|
1
|
+
import {e as ee$1}from'./chunk-K2iai6rC.js';import'./chunk-CIe9Bupz.js';import'./chunk-BmmYJhOf.js';import'./chunk-CvSsZZty.js';import'./chunk-CyqqlRjO.js';import'./chunk-CX3Axjpk.js';import {c}from'./chunk-C3gUxHQM.js';import'./chunk-DidJB9ig.js';import {T,a5 as g,ab as C,h as hw,v,c as N,_ as _t,i as Ig,Q as Qi,n as nC,$ as $l,b5 as lg,b6 as oT,d as aT,H as Hg,F as Fg,j as jg,C as CE,b7 as iT,g as cT,y as vg,a3 as KC,s as jC,k as iC,a1 as dT,ap as lT,a2 as fT,a$ as JC,au as Vg,av as rC,aB as sm}from'./main-3NL5M6JB.js';import {f}from'./chunk-B1c7h-_w.js';import {d}from'./chunk-DDWDcSq2.js';import'./chunk-DhiIZLrA.js';import'./chunk-B6c2NXNy.js';import'./chunk-MDqH8T3Z.js';import'./chunk-mflQLMHH.js';import'./chunk-CuJ_uEdr.js';import'./chunk-D1pDZLJ9.js';import'./chunk-DGvC49aU.js';var V=()=>[f,v,N,_t],K=()=>["/restore-from-files"],Q=()=>["/restore/from-config"],U=n=>["/restore",n];function Y(n,i){if(n&1&&(Qi(0,"sh-card",10),Hg("keydown.enter",function(r){return r.target.click()})("keydown.space",function(r){return r.target.click()}),Ig(1,"img",16),Qi(2,"div",12)(3,"h3"),nC(4,7),$l(),Qi(5,"p"),jC(6),$l()(),Qi(7,"button",13),Fg(8,8),Ig(9,"sh-icon"),jg(),$l()()),n&2){let e=i.$implicit;vg("routerLink",JC(4,U,e.Backup.ID)),CE(4),Vg(e.Backup.Name??"Backup name missing"),rC(4),CE(2),sm(" ",e.Backup.Metadata?.SourceSizeString??"-"," / ",e.Backup.Metadata?.BackupListCount??"-"," ");}}function Z(n,i){if(n&1&&dT(0,Y,10,6,"sh-card",15,lT),n&2){let e=iC(2);fT(e.backups());}}function ee(n,i){if(n&1&&aT(0,Z,2,0),n&2){let e=iC();cT(e.backups().length?0:-1);}}function ne(n,i){n&1&&(Qi(0,"div",17),Ig(1,"sh-progress-bar",18),Qi(2,"div",12)(3,"h3"),nC(4,9),$l()()());}function te(n,i){n&1&&(Qi(0,"sh-divider"),jC(1,"Or without a local configuration"),$l());}var M=class n{#e=T(g);#n=T(C);backups=this.#e.backups;backupsLoading=this.#e.backupsLoading;ngOnInit(){this.#e.getBackups(true);}restoreNow(i){this.#n.postApiV1BackupByIdRestore({id:i.Backup?.ID,requestBody:{}});}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=hw({type:n,selectors:[["app-restore"]],decls:29,vars:6,consts:()=>{let i;i=$localize`Where do you want to restore from?`;let e;e=$localize`Direct restore from backup files`;let r;r=$localize`Point to your backup files and restore from there.`;let E;E=$localize` Start ${"\uFFFD#18\uFFFD"}:START_TAG_SH_ICON:play-circle${"\uFFFD/#18\uFFFD"}:CLOSE_TAG_SH_ICON:`;let _;_=$localize`Restore from configuration`;let h;h=$localize`Load destination from an exported job`;let I;I=$localize` Start ${"\uFFFD#28\uFFFD"}:START_TAG_SH_ICON:play-circle${"\uFFFD/#28\uFFFD"}:CLOSE_TAG_SH_ICON:`;let y;y=$localize`${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let $;$=$localize` Restore ${"\uFFFD#9\uFFFD"}:START_TAG_SH_ICON:arrow-right${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SH_ICON:`;let k;return k=$localize`Loading backups...`,[i,e,r,E,_,h,I,y,$,k,[1,"type-a","actionable",3,"keydown.enter","keydown.space","routerLink"],["src","assets/images/backup.png","alt","","width","48px"],[1,"text"],["shButton","","tabindex","-1"],["src","assets/images/restore.png","alt","","width","48px"],[1,"type-a","actionable",3,"routerLink"],["src","assets/images/folder.png","alt","","width","48px"],[1,"loading-list"],[1,"indeterminate","primary"]]},template:function(e,r){e&1&&(Ig(0,"app-status-bar"),Qi(1,"section")(2,"h2"),nC(3,0),$l(),lg(4,ee,1,1)(5,ne,5,0),oT(6,4,V,null,5),aT(8,te,2,0,"sh-divider"),Qi(9,"sh-card",10),Hg("keydown.enter",function(_){return _.target.click()})("keydown.space",function(_){return _.target.click()}),Ig(10,"img",11),Qi(11,"div",12)(12,"h3"),nC(13,1),$l(),Qi(14,"p"),nC(15,2),$l()(),Qi(16,"button",13),Fg(17,3),Ig(18,"sh-icon"),jg(),$l()(),Qi(19,"sh-card",10),Hg("keydown.enter",function(_){return _.target.click()})("keydown.space",function(_){return _.target.click()}),Ig(20,"img",14),Qi(21,"div",12)(22,"h3"),nC(23,4),$l(),Qi(24,"p"),nC(25,5),$l()(),Qi(26,"button",13),Fg(27,6),Ig(28,"sh-icon"),jg(),$l()()()),e&2&&(CE(6),iT(!r.backupsLoading()),CE(2),cT(r.backups().length?8:-1),CE(),vg("routerLink",KC(4,K)),CE(10),vg("routerLink",KC(5,Q)));},dependencies:[ee$1,f,v,c,N,d,_t],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}.actionable[_ngcontent-%COMP%]{cursor:pointer}.actionable[_ngcontent-%COMP%]:after{transition:inset .1s linear}.actionable[_ngcontent-%COMP%]:hover{--card-shp: 0}"]})};export{M as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {c2 as e,aZ as ee,aj as l}from'./main-3NL5M6JB.js';var d=/[a-zA-Z0-9_\-\+\.!@#$%^&*?_~()-]/,m=class n{generate(r,t=d){let a;do a=this.generatePassword(r,t);while(this.calculatePasswordStrength(a)<5);return a}generatePassword(r,t=d){return Array.apply(null,{length:r}).map(()=>{let a;for(;;)if(a=String.fromCharCode(e()),t.test(a))return a},this).join("")}calculatePasswordStrength(r){let t=1;return r.length>=8&&t++,r.match(/[a-z]/)&&r.match(/[A-Z]/)&&t++,r.match(/\d+/)&&t++,r.match(/.[!,@,#,$,%,^,&,*,?,_,~,(,),-]/)&&t++,Math.min(t,5)}static \u0275fac=function(t){return new(t||n)};static \u0275prov=ee({token:n,factory:n.\u0275fac,providedIn:"root"})};function y(n,r,t="conditional"){return a=>{if(!a.parent)return null;let e=null;if(n(a.parent)&&(e=(Array.isArray(r)?r:[r]).find(l=>l(a)!==null)??null),t&&e){let o={};o[t]=e,e=o;}return e}}function F(){return n=>(n.parent&&Object.values(n.parent.controls).forEach(r=>{r!==n&&r.updateValueAndValidity();}),null)}function C(n,r,t,a="conditional"){return e=>{if(!e.parent)return null;let o={},l$1=e.parent.get(n);if(!l$1)return console.warn("Conditional field not found"),null;if(Array.isArray(r)?l$1.value?.includes(r):l$1.value===r){let f=Array.isArray(t)?t:[t];for(let A of f){let u=A(e),p=o||{};if(u!==null){o=l(l({},p),u);break}}}return o}}export{C,F,m,y};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import {e as ee}from'./chunk-
|
|
1
|
+
import {e as ee}from'./chunk-K2iai6rC.js';import'./chunk-CIe9Bupz.js';import'./chunk-BmmYJhOf.js';import'./chunk-CvSsZZty.js';import'./chunk-CyqqlRjO.js';import'./chunk-CX3Axjpk.js';import'./chunk-C3gUxHQM.js';import'./chunk-DidJB9ig.js';import {T,ab as C,aw as W,N as Nt,G as Ge,D as w1,a_ as x1,h as hw,c as N,v,_ as _t,i as Ig,Q as Qi,F as Fg,j as jg,$ as $l,H as Hg,d as aT,a1 as dT,C as CE,y as vg,a$ as JC,g as cT,a2 as fT,o as oC,M as qg,R as fC,n as nC,s as jC,aa as Ql,ap as lT}from'./main-3NL5M6JB.js';import'./chunk-DDWDcSq2.js';import'./chunk-DhiIZLrA.js';import'./chunk-B6c2NXNy.js';import'./chunk-MDqH8T3Z.js';import'./chunk-mflQLMHH.js';import'./chunk-CuJ_uEdr.js';import {L}from'./chunk-DGvC49aU.js';import'./chunk-D1pDZLJ9.js';var G=["logOutput"],K=n=>({state:n});function w(n,t){n&1&&nC(0,3,1);}function x(n,t){n&1&&nC(0,3,2);}function q(n,t){n&1&&nC(0,3,3);}function H(n,t){n&1&&nC(0,3,4);}function J(n,t){if(n&1&&(jC(0),Ig(1,"br")),n&2){let e=t.$implicit;Ql(" ",e," ");}}var p=class n{#t=T(C);#e=T(W);#n=L(this.#e.params);#o=L(this.#e.queryParams);runId=Nt(()=>this.#n()?.runId);stateId=Nt(()=>this.#o()?.state);offset=Ge(0);status=Ge("starting");messageLog=Ge([]);logOutput=w1.required("logOutput");autoScrollEnabled=Ge(true);scrollToBottomEffect=x1(()=>{if(this.messageLog(),!this.autoScrollEnabled())return;let t=this.logOutput().nativeElement;t.scrollTop=t.scrollHeight;});interval=setInterval(()=>{this.#t.getApiV1CommandlineByRunid({runid:this.runId(),offset:this.offset(),pagesize:100}).subscribe(t=>{this.offset.set(t.Count),this.evalStatus(t),this.messageLog.update(e=>[...e,...t.Items]);});},1e3);evalStatus(t){t.Started===true&&t.Finished===true&&(this.status.set("finished"),clearInterval(this.interval)),t.Started===true&&t.Finished===false&&this.status.set("started");}updateAutoScroll(){let t=this.logOutput().nativeElement,e=t.scrollHeight-t.scrollTop-t.clientHeight;this.autoScrollEnabled.set(e<=2);}abort(){this.#t.postApiV1CommandlineByRunidAbort({runid:this.runId()}).subscribe({next:t=>{this.status.set("aborted"),clearInterval(this.interval);}});}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=hw({type:n,selectors:[["app-commandline-result"]],viewQuery:function(e,o){e&1&&qg(o.logOutput,G,5),e&2&&fC();},decls:19,vars:7,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` Running commandline task... ${"\uFFFD#8\uFFFD"}:START_TAG_BUTTON:Abort${"\uFFFD/#8\uFFFD"}:CLOSE_TAG_BUTTON:`;let o;return o=$localize`${"\uFFFD*11:1\uFFFD"}:START_BLOCK_IF: Starting... ${"[\uFFFD/*11:1\uFFFD|\uFFFD/*12:2\uFFFD|\uFFFD/*13:3\uFFFD|\uFFFD/*14:4\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD*12:2\uFFFD"}:START_BLOCK_IF_1: Started! ${"[\uFFFD/*11:1\uFFFD|\uFFFD/*12:2\uFFFD|\uFFFD/*13:3\uFFFD|\uFFFD/*14:4\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD*13:3\uFFFD"}:START_BLOCK_IF_2: Finished! ${"[\uFFFD/*11:1\uFFFD|\uFFFD/*12:2\uFFFD|\uFFFD/*13:3\uFFFD|\uFFFD/*14:4\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD*14:4\uFFFD"}:START_BLOCK_IF_3: Aborted! ${"[\uFFFD/*11:1\uFFFD|\uFFFD/*12:2\uFFFD|\uFFFD/*13:3\uFFFD|\uFFFD/*14:4\uFFFD]"}:CLOSE_BLOCK_IF:`,o=oC(o),[["logOutput",""],t,e,o,[1,"back"],["type","button","shButton","","routerLink","../",1,"small",3,"queryParams"],["type","button","shButton","",1,"small",3,"click"],[1,"status"],[3,"scroll"]]},template:function(e,o){e&1&&(Ig(0,"app-status-bar"),Qi(1,"section")(2,"div",4)(3,"button",5),Fg(4,1),Ig(5,"sh-icon"),jg(),$l()(),Qi(6,"h3"),Fg(7,2),Qi(8,"button",6),Hg("click",function(){return o.abort()}),$l(),jg(),$l(),Qi(9,"div",7),Fg(10,3),aT(11,w,1,0),aT(12,x,1,0),aT(13,q,1,0),aT(14,H,1,0),jg(),$l(),Qi(15,"code",8,0),Hg("scroll",function(){return o.updateAutoScroll()}),dT(17,J,2,1,null,null,lT),$l()()),e&2&&(CE(3),vg("queryParams",JC(5,K,o.stateId())),CE(8),cT(o.status()==="starting"?11:-1),CE(),cT(o.status()==="started"?12:-1),CE(),cT(o.status()==="finished"?13:-1),CE(),cT(o.status()==="aborted"?14:-1),CE(3),fT(o.messageLog()));},dependencies:[ee,N,v,_t],styles:["[_nghost-%COMP%]{display:block;height:100%;min-height:0;width:100%}section[_ngcontent-%COMP%]{box-sizing:border-box;display:flex;flex-direction:column;height:100%;min-height:0;width:100%;padding:2.5rem;gap:1.25rem}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);flex:1 1 auto;min-height:0;overflow:auto;white-space:pre}"]})};export{p as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {T,
|
|
1
|
+
import {T,bu as N,E as E1,af as D1,z as za,bb as ce,h as hw,c as N$1,S as aC,Q as Qi,H as Hg,Y as cC,d as aT,$ as $l,aC as yg,C as CE,g as cT,f as NC,L as Kg,s as jC}from'./main-3NL5M6JB.js';var k=[[["","title",""]],"*"],M=["[title]","*"];function j(t,S){t&1&&jC(0,"Title");}function E(t,S){t&1&&(Qi(0,"sh-icon",1),jC(1,"caret-down"),$l());}var I=(()=>{class t{constructor(){this.#e=T(N),this.disableToggle=E1(false),this.isActive=D1(false),this.#t=za(()=>{this.disableToggle()&&this.isActive.set(true);}),this.color=E1(null),this.variant=E1(null),this.hostClasses=ce("card",{color:this.color,variant:this.variant});}#e;#t;toggle(){this.isActive.set(!this.isActive());}handleKeyDown(o){this.#e.matches(o,"toggle-card.toggle")&&(o.preventDefault(),this.toggle());}static{this.\u0275fac=function(i){return new(i||t)};}static{this.\u0275cmp=hw({type:t,selectors:[["sh-toggle-card"]],hostVars:4,hostBindings:function(i,e){i&2&&(NC(e.hostClasses()),Kg("active",e.isActive()));},inputs:{disableToggle:[1,"disableToggle"],isActive:[1,"isActive"],color:[1,"color"],variant:[1,"variant"]},outputs:{isActive:"isActiveChange"},ngContentSelectors:M,decls:7,vars:4,consts:[["role","button",3,"click","keydown"],[1,"toggle-icon"],[1,"collapsable"],[1,"content"]],template:function(i,e){i&1&&(aC(k),Qi(0,"h3",0),Hg("click",function(){return e.disableToggle()?null:e.toggle()})("keydown",function(D){return e.disableToggle()?null:e.handleKeyDown(D)}),cC(1,0,null,j,1,0),aT(3,E,2,0,"sh-icon",1),$l(),Qi(4,"div",2)(5,"div",3),cC(6,1),$l()()),i&2&&(yg("tabindex",e.disableToggle()?null:"0")("aria-expanded",e.disableToggle()?null:e.isActive()?"true":"false")("aria-disabled",e.disableToggle()?"true":null),CE(3),cT(e.disableToggle()?-1:3));},dependencies:[N$1],styles:[`sh-toggle-card{display:flex;flex-direction:column;border-radius:var(--shape-3);background-color:var(--base-2)}sh-toggle-card.type-a{background-color:transparent;border:var(--border-10)}sh-toggle-card.active .collapsable{grid-template-rows:1fr}sh-toggle-card.active .content{padding:0 1rem 1rem}sh-toggle-card.active .content:empty{padding:0 1rem}sh-toggle-card.active sh-icon.toggle-icon{transform:rotate(180deg)}sh-toggle-card h3{display:flex;align-items:center;justify-content:space-between;font:var(--paragraph-10);padding:1rem;cursor:pointer;-webkit-user-select:none;user-select:none}sh-toggle-card sh-icon.toggle-icon{cursor:pointer;transform:rotate(0);transform-origin:center;transition:transform .2s ease}sh-toggle-card .collapsable{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s linear;overflow:hidden}sh-toggle-card .content{display:flex;flex-direction:column;gap:1rem;padding:0 1rem;min-height:0;overflow:hidden}
|
|
2
2
|
`],encapsulation:2});}}return t})();export{I};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import {m,C as C$1,F}from'./chunk-C80zvTbO.js';import {J}from'./chunk-DUYvFN8m.js';import {x}from'./chunk-CAwTsBqQ.js';import {T,a6 as be$1,ab as C,aw as W,e as ee,ax as De,a5 as g,G as Ge$1,N as Nt,z as za,at as h,ay as Gu,az as t,aA as y,aj as l,H as qu,h as hw,_ as _t,d as N,v,u as ue,Q as Qi,w as jC,L as Lg,j as vg,F as Fg,$ as $l,V as Vg,p as cm,s as CD,f as aT,C as CE,A as yg,a3 as KC,Y as Yg,aB as im,x as am,y as _D,i as cT,o as oC,U as UC,l as vT,r as kd,k as iC,O as Od,J as om,n as nC,au as jg,av as rC}from'./main-VVQP2YE7.js';import {d}from'./chunk-B8uF0dom.js';import {F as Fe}from'./chunk-B9maI7Xa.js';import {j as jn,m as me,G as Gn,T as Tn,Z as Ze,y as yt,R as Rn,P as Pn,g as gn,h as hn}from'./chunk-BO2GlieG.js';import {a as at}from'./chunk-CKnRcyHZ.js';import {L}from'./chunk-Box6Lckh.js';var Xe=()=>["/"];function be(t,o){t&1&&(Qi(0,"sh-toggle",25),Lg(1,5),vg(2,"input",28),CD(),Fg(),$l()),t&2&&(CE(2),_D());}function Ge(t,o){t&1&&(Qi(0,"span",31),nC(1,9),$l());}function Be(t,o){if(t&1&&(Qi(0,"span",31),nC(1,10),$l()),t&2){let e=iC(2);CE(),jg(e.exportForm.controls.password.errors?.minlength.requiredLength),rC(1);}}function ve(t,o){if(t&1&&vg(0,"sh-progress-bar",38),t&2){let e=iC(2);Yg("error",e.calculatePasswordStrength()===1)("warn",e.calculatePasswordStrength()===2)("primary",e.calculatePasswordStrength()===4)("success",e.calculatePasswordStrength()===5),yg("value",e.calculatePasswordStrength()*(100/5));}}function ke(t,o){t&1&&(Qi(0,"span",31),nC(1,11),$l());}function Ue(t,o){t&1&&(Qi(0,"span",31),nC(1,12),$l());}function Ke(t,o){if(t&1&&(Qi(0,"span",31),nC(1,13),$l()),t&2){let e=iC(2);CE(),jg(e.exportForm.controls.repeatPassword.errors?.minlength.requiredLength),rC(1);}}function Je(t,o){t&1&&(Lg(0,7,1),vg(1,"sh-icon"),Fg());}function He(t,o){t&1&&(Lg(0,7,2),vg(1,"sh-icon"),Fg());}function ze(t,o){t&1&&(Lg(0,14,1),vg(1,"sh-icon",40),Fg());}function Ve(t,o){t&1&&(Lg(0,14,2),vg(1,"sh-icon"),Fg());}function qe(t,o){if(t&1){let e=vT();Qi(0,"button",39),Vg("click",function(){kd(e);let a=iC(2);return Od(a.copyPassword())}),Lg(1,14),aT(2,ze,2,0)(3,Ve,2,0),Fg(),$l();}if(t&2){let e=iC(2);CE(2),cT(e.copiedPassword()?2:3);}}function je(t,o){t&1&&(Qi(0,"sh-alert",37),nC(1,15),$l());}function We(t,o){if(t&1){let e=vT();Qi(0,"div",26)(1,"sh-form-field")(2,"label",29),Lg(3,6),vg(4,"sup"),Fg(),$l(),vg(5,"input",30),CD(),aT(6,Ge,2,0,"span",31)(7,Be,2,1,"span",31),$l(),aT(8,ve,1,9,"sh-progress-bar",32),Qi(9,"sh-form-field"),vg(10,"input",33),CD(),aT(11,ke,2,0,"span",31)(12,Ue,2,0,"span",31)(13,Ke,2,1,"span",31),$l(),Qi(14,"div",34)(15,"button",35),Vg("click",function(){kd(e);let a=iC();return Od(a.showPassword.set(!a.showPassword()))}),Lg(16,7),aT(17,Je,2,0)(18,He,2,0),Fg(),$l(),Qi(19,"button",35),Vg("click",function(){kd(e);let a=iC();return Od(a.generatePassword())}),Lg(20,8),vg(21,"sh-icon"),Fg(),$l(),aT(22,qe,4,1,"button",36),$l(),aT(23,je,2,0,"sh-alert",37),$l();}if(t&2){let e=iC();CE(5),yg("type",e.showPassword()?"text":"password"),_D(),CE(),cT(e.exportForm.controls.password.errors?.required?6:e.exportForm.controls.password.errors?.minlength?7:-1),CE(2),cT(e.exportForm.value.password?8:-1),CE(2),yg("type",e.showPassword()?"text":"password"),_D(),CE(),cT(e.exportForm.value.repeatPassword&&e.exportForm.value.repeatPassword!==e.exportForm.value.password?11:e.exportForm.controls.repeatPassword.errors?.required?12:e.exportForm.controls.repeatPassword.errors?.minlength?13:-1),CE(6),cT(e.showPassword()?17:18),CE(5),cT(e.showCopyPassword()?22:-1),CE(),cT(e.exportForm.value.password&&e.exportForm.value.password===e.exportForm.value.repeatPassword?23:-1);}}function Qe(t,o){if(t&1&&(Qi(0,"div",27)(1,"code"),jC(2),$l()()),t&2){let e=iC();CE(2),om(e.exportedCmd());}}var I=new jn,K=class t$1{#o=T(m);#n=T(be$1);#t=T(C);#e=T(W);#i=T(ee);#r=T(De);#s=T(g);isExporting=Ge$1(false);exportType=Ge$1("file");exportedCmd=Ge$1(null);exportForm=I.group({exportPasswords:I.control(true),encryption:I.control(false,[me.required,F()]),password:I.control("",[C$1("encryption",true,[me.required,me.minLength(3)])]),repeatPassword:I.control("",[C$1("encryption",true,[me.required,me.minLength(3)])])});exportFormSignal=L(this.exportForm.valueChanges);encryptionFieldSignal=Nt(()=>(this.exportFormSignal()?.encryption??false)&&this.exportType()==="file");activeBackup=Nt(()=>this.#s.backups().find(o=>o.Backup?.ID===this.#e.snapshot.params.id));showPassword=Ge$1(false);copiedPassword=Ge$1(false);showCopyPassword=Ge$1(false);calculatePasswordStrength=Nt(()=>{let e=this.exportFormSignal()?.password??"";return this.#o.calculatePasswordStrength(e)});showPasswordEffect=za(()=>{this.showPassword()&&this.exportForm.updateValueAndValidity();});disablePasswordForCommandLine=za(()=>{this.exportType()==="cmd"&&this.exportForm.controls.encryption.setValue(false);});submit(){if(this.exportType()==="file"&&this.exportFormSignal()?.exportPasswords===true&&!this.exportFormSignal()?.encryption){this.#n.open(h,{data:{title:$localize`Export without encryption?`,message:$localize`Are you sure you want to export your backup without encryption?`,confirmText:$localize`Yes, write plain-text passwords`,cancelText:$localize`Cancel`},closed:o=>{o&&this.submitApproved();}});return}this.submitApproved();}submitApproved(){this.isExporting.set(true),this.exportType()==="file"?this.#t.postApiV1AuthIssuetokenByOperation({operation:"export"}).pipe(Gu(o=>{let e=T=>{let O=Object.entries(T);return O?"?"+O.filter(([h,E])=>E!=null).map(([h,E])=>`${encodeURIComponent(h)}=${encodeURIComponent(E)}`).join("&"):""},n=this.exportFormSignal()?.password?.length?this.exportFormSignal()?.password:void 0,a=t.BASE||"";return this.#r.get(`${a}/api/v1/backup/${this.#e.snapshot.params.id}/export${e({"export-passwords":this.exportFormSignal()?.exportPasswords??void 0,passphrase:n,token:o.Token})}`,{responseType:"blob",headers:new y(l({},t.HEADERS??{}))})}),qu(()=>this.isExporting.set(false))).subscribe({next:o=>{let n=this.activeBackup()?.Backup?.Name??"Backup",a=this.exportFormSignal()?.encryption?"aes":"json";this.downloadFile(o,`${n}-duplicati-config.${a}`),this.#i.navigate(["/"]);},error:o=>{console.error("Failed to export backup",o);}}):this.#t.getApiV1BackupByIdExportCmdline({id:this.#e.snapshot.params.id,exportPasswords:this.exportFormSignal()?.exportPasswords??void 0,passphrase:this.exportFormSignal()?.password??void 0}).pipe(qu(()=>this.isExporting.set(false))).subscribe({next:o=>{this.exportedCmd.set(o.Command??null);},error:o=>{console.error("Failed to export backup as command line",o);}});}downloadFile(o,e){let n=window.URL.createObjectURL(o),a=document.createElement("a");a.href=n,a.download=e,a.click(),window.URL.revokeObjectURL(n);}async copyPassword(){let o=this.exportForm.controls.password.value;await this.#a(o??""),this.copiedPassword.set(true);}async#a(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(false);let o=this.#o.generate(16);this.exportForm.controls.password.setValue(o),this.exportForm.controls.repeatPassword.setValue(o),this.showCopyPassword.set(true);}static \u0275fac=function(e){return new(e||t$1)};static \u0275cmp=hw({type:t$1,selectors:[["app-export"]],decls:26,vars:13,consts:()=>{let o;o=$localize`${"\uFFFD#6\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#6\uFFFD"}:CLOSE_TAG_SH_ICON: Back `;let e;e=$localize`${"\uFFFD#9\uFFFD"}:START_TAG_SH_ICON:export${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SH_ICON: Export `;let n;n=$localize`${"\uFFFD#16\uFFFD"}:START_TAG_SH_ICON:terminal-window${"\uFFFD/#16\uFFFD"}:CLOSE_TAG_SH_ICON: As command line `;let a;a=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SH_ICON:file${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SH_ICON: To file `;let T;T=$localize` Export passwords ${"\uFFFD#22\uFFFD\uFFFD/#22\uFFFD"}:TAG_INPUT:`;let O;O=$localize` Encrypt file ${"\uFFFD#2\uFFFD\uFFFD/#2\uFFFD"}:TAG_INPUT:`;let h;h=$localize`Password`;let E;E=$localize`Repeat password`;let J;J=$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=oC(w);let H;H=$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 V;V=$localize` Passwords must be at least ${"\uFFFD0\uFFFD"}:INTERPOLATION: characters long `;let q;q=$localize`Passwords do not match`;let j;j=$localize`Passwords are required`;let W;W=$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=oC(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. `,[o,e,n,a,T,O,J,w,H,z,V,q,j,W,D,Q,[1,"actions"],["shButton","",1,"outlined",3,"routerLink"],["shButton","",1,"raised","primary",3,"click","shTooltip","disabled"],["autocomplete","off",3,"formGroup"],[1,"type-b",3,"valueChange","value"],["value","cmd"],["value","file"],[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",h,"formControlName","password",3,"type"],["error",""],[1,"raised",3,"error","warn","primary","success","value"],["id","repeatPassword","tabindex","5","autocomplete","off","placeholder",E,"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){e&1&&(Qi(0,"header")(1,"h3"),jC(2," Export backup configuration "),Qi(3,"div",16)(4,"button",17),Lg(5,0),vg(6,"sh-icon"),Fg(),$l(),Qi(7,"button",18),Vg("click",function(){return n.submit()}),Lg(8,1),vg(9,"sh-icon"),Fg(),$l()()(),Qi(10,"p"),jC(11),$l()(),Qi(12,"form",19)(13,"sh-button-group",20),cm("valueChange",function(T){return UC(n.exportType,T)||(n.exportType=T),T}),Qi(14,"button",21),Lg(15,2),vg(16,"sh-icon"),Fg(),$l(),Qi(17,"button",22),Lg(18,3),vg(19,"sh-icon"),Fg(),$l()(),Qi(20,"sh-toggle",23),Lg(21,4),vg(22,"input",24),CD(),Fg(),$l(),aT(23,be,3,0,"sh-toggle",25),aT(24,We,24,8,"div",26),aT(25,Qe,3,1,"div",27),$l()),e&2&&(CE(4),yg("routerLink",KC(12,Xe)),CE(3),Yg("loading",n.isExporting()),yg("shTooltip",n.encryptionFieldSignal()?"Remember to copy the password":"")("disabled",n.exportForm.invalid||n.showCopyPassword()&&!n.copiedPassword()||n.encryptionFieldSignal()&&n.exportForm.value.repeatPassword!==n.exportForm.value.password),CE(4),im("#",n.activeBackup()?.Backup?.ID,": ",n.activeBackup()?.Backup?.Name),CE(),yg("formGroup",n.exportForm),CE(),am("value",n.exportType),CE(9),_D(),CE(),cT(n.exportType()==="file"?23:-1),CE(),cT(n.encryptionFieldSignal()?24:-1),CE(),cT(n.exportedCmd()?25:-1));},dependencies:[Gn,Tn,Ze,yt,Rn,Pn,gn,hn,_t,x,J,N,Fe,v,ue,d,at],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}"]})};export{K as default};
|
|
1
|
+
import {m,C as C$1,F}from'./chunk-bt6lhYfG.js';import {J}from'./chunk-aCJqF9DH.js';import {x}from'./chunk-mA4J4_nC.js';import {T,a6 as be$1,ab as C,aw as W,e as ee,ax as De,a5 as g,G as Ge$1,N as Nt,z as za,at as h,ay as Qu,az as t,aA as y,aj as l,J as zu,h as hw,_ as _t,c as N,v,u as ue,Q as Qi,s as jC,F as Fg,i as Ig,j as jg,$ as $l,H as Hg,p as lm,r as CD,d as aT,C as CE,y as vg,a3 as KC,L as Kg,aB as sm,w as cm,x as _D,g as cT,o as oC,U as UC,l as vT,O as Od,k as iC,P as Pd,K as im,n as nC,au as Vg,av as rC}from'./main-3NL5M6JB.js';import {d}from'./chunk-DDWDcSq2.js';import {F as Fe}from'./chunk-DhiIZLrA.js';import {j as jn,m as me,G as Gn,T as Tn,Z as Ze,y as yt,R as Rn,P as Pn,g as gn,h as hn}from'./chunk-B6c2NXNy.js';import {a as at}from'./chunk-MDqH8T3Z.js';import {L}from'./chunk-DGvC49aU.js';var Xe=()=>["/"];function be(t,o){t&1&&(Qi(0,"sh-toggle",25),Fg(1,5),Ig(2,"input",28),CD(),jg(),$l()),t&2&&(CE(2),_D());}function Ge(t,o){t&1&&(Qi(0,"span",31),nC(1,9),$l());}function Be(t,o){if(t&1&&(Qi(0,"span",31),nC(1,10),$l()),t&2){let e=iC(2);CE(),Vg(e.exportForm.controls.password.errors?.minlength.requiredLength),rC(1);}}function ve(t,o){if(t&1&&Ig(0,"sh-progress-bar",38),t&2){let e=iC(2);Kg("error",e.calculatePasswordStrength()===1)("warn",e.calculatePasswordStrength()===2)("primary",e.calculatePasswordStrength()===4)("success",e.calculatePasswordStrength()===5),vg("value",e.calculatePasswordStrength()*(100/5));}}function ke(t,o){t&1&&(Qi(0,"span",31),nC(1,11),$l());}function Ue(t,o){t&1&&(Qi(0,"span",31),nC(1,12),$l());}function Ke(t,o){if(t&1&&(Qi(0,"span",31),nC(1,13),$l()),t&2){let e=iC(2);CE(),Vg(e.exportForm.controls.repeatPassword.errors?.minlength.requiredLength),rC(1);}}function Je(t,o){t&1&&(Fg(0,7,1),Ig(1,"sh-icon"),jg());}function He(t,o){t&1&&(Fg(0,7,2),Ig(1,"sh-icon"),jg());}function ze(t,o){t&1&&(Fg(0,14,1),Ig(1,"sh-icon",40),jg());}function Ve(t,o){t&1&&(Fg(0,14,2),Ig(1,"sh-icon"),jg());}function qe(t,o){if(t&1){let e=vT();Qi(0,"button",39),Hg("click",function(){Od(e);let a=iC(2);return Pd(a.copyPassword())}),Fg(1,14),aT(2,ze,2,0)(3,Ve,2,0),jg(),$l();}if(t&2){let e=iC(2);CE(2),cT(e.copiedPassword()?2:3);}}function je(t,o){t&1&&(Qi(0,"sh-alert",37),nC(1,15),$l());}function We(t,o){if(t&1){let e=vT();Qi(0,"div",26)(1,"sh-form-field")(2,"label",29),Fg(3,6),Ig(4,"sup"),jg(),$l(),Ig(5,"input",30),CD(),aT(6,Ge,2,0,"span",31)(7,Be,2,1,"span",31),$l(),aT(8,ve,1,9,"sh-progress-bar",32),Qi(9,"sh-form-field"),Ig(10,"input",33),CD(),aT(11,ke,2,0,"span",31)(12,Ue,2,0,"span",31)(13,Ke,2,1,"span",31),$l(),Qi(14,"div",34)(15,"button",35),Hg("click",function(){Od(e);let a=iC();return Pd(a.showPassword.set(!a.showPassword()))}),Fg(16,7),aT(17,Je,2,0)(18,He,2,0),jg(),$l(),Qi(19,"button",35),Hg("click",function(){Od(e);let a=iC();return Pd(a.generatePassword())}),Fg(20,8),Ig(21,"sh-icon"),jg(),$l(),aT(22,qe,4,1,"button",36),$l(),aT(23,je,2,0,"sh-alert",37),$l();}if(t&2){let e=iC();CE(5),vg("type",e.showPassword()?"text":"password"),_D(),CE(),cT(e.exportForm.controls.password.errors?.required?6:e.exportForm.controls.password.errors?.minlength?7:-1),CE(2),cT(e.exportForm.value.password?8:-1),CE(2),vg("type",e.showPassword()?"text":"password"),_D(),CE(),cT(e.exportForm.value.repeatPassword&&e.exportForm.value.repeatPassword!==e.exportForm.value.password?11:e.exportForm.controls.repeatPassword.errors?.required?12:e.exportForm.controls.repeatPassword.errors?.minlength?13:-1),CE(6),cT(e.showPassword()?17:18),CE(5),cT(e.showCopyPassword()?22:-1),CE(),cT(e.exportForm.value.password&&e.exportForm.value.password===e.exportForm.value.repeatPassword?23:-1);}}function Qe(t,o){if(t&1&&(Qi(0,"div",27)(1,"code"),jC(2),$l()()),t&2){let e=iC();CE(2),im(e.exportedCmd());}}var I=new jn,K=class t$1{#o=T(m);#n=T(be$1);#t=T(C);#e=T(W);#i=T(ee);#r=T(De);#s=T(g);isExporting=Ge$1(false);exportType=Ge$1("file");exportedCmd=Ge$1(null);exportForm=I.group({exportPasswords:I.control(true),encryption:I.control(false,[me.required,F()]),password:I.control("",[C$1("encryption",true,[me.required,me.minLength(3)])]),repeatPassword:I.control("",[C$1("encryption",true,[me.required,me.minLength(3)])])});exportFormSignal=L(this.exportForm.valueChanges);encryptionFieldSignal=Nt(()=>(this.exportFormSignal()?.encryption??false)&&this.exportType()==="file");activeBackup=Nt(()=>this.#s.backups().find(o=>o.Backup?.ID===this.#e.snapshot.params.id));showPassword=Ge$1(false);copiedPassword=Ge$1(false);showCopyPassword=Ge$1(false);calculatePasswordStrength=Nt(()=>{let e=this.exportFormSignal()?.password??"";return this.#o.calculatePasswordStrength(e)});showPasswordEffect=za(()=>{this.showPassword()&&this.exportForm.updateValueAndValidity();});disablePasswordForCommandLine=za(()=>{this.exportType()==="cmd"&&this.exportForm.controls.encryption.setValue(false);});submit(){if(this.exportType()==="file"&&this.exportFormSignal()?.exportPasswords===true&&!this.exportFormSignal()?.encryption){this.#n.open(h,{data:{title:$localize`Export without encryption?`,message:$localize`Are you sure you want to export your backup without encryption?`,confirmText:$localize`Yes, write plain-text passwords`,cancelText:$localize`Cancel`},closed:o=>{o&&this.submitApproved();}});return}this.submitApproved();}submitApproved(){this.isExporting.set(true),this.exportType()==="file"?this.#t.postApiV1AuthIssuetokenByOperation({operation:"export"}).pipe(Qu(o=>{let e=T=>{let O=Object.entries(T);return O?"?"+O.filter(([h,E])=>E!=null).map(([h,E])=>`${encodeURIComponent(h)}=${encodeURIComponent(E)}`).join("&"):""},n=this.exportFormSignal()?.password?.length?this.exportFormSignal()?.password:void 0,a=t.BASE||"";return this.#r.get(`${a}/api/v1/backup/${this.#e.snapshot.params.id}/export${e({"export-passwords":this.exportFormSignal()?.exportPasswords??void 0,passphrase:n,token:o.Token})}`,{responseType:"blob",headers:new y(l({},t.HEADERS??{}))})}),zu(()=>this.isExporting.set(false))).subscribe({next:o=>{let n=this.activeBackup()?.Backup?.Name??"Backup",a=this.exportFormSignal()?.encryption?"aes":"json";this.downloadFile(o,`${n}-duplicati-config.${a}`),this.#i.navigate(["/"]);},error:o=>{console.error("Failed to export backup",o);}}):this.#t.getApiV1BackupByIdExportCmdline({id:this.#e.snapshot.params.id,exportPasswords:this.exportFormSignal()?.exportPasswords??void 0,passphrase:this.exportFormSignal()?.password??void 0}).pipe(zu(()=>this.isExporting.set(false))).subscribe({next:o=>{this.exportedCmd.set(o.Command??null);},error:o=>{console.error("Failed to export backup as command line",o);}});}downloadFile(o,e){let n=window.URL.createObjectURL(o),a=document.createElement("a");a.href=n,a.download=e,a.click(),window.URL.revokeObjectURL(n);}async copyPassword(){let o=this.exportForm.controls.password.value;await this.#a(o??""),this.copiedPassword.set(true);}async#a(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(false);let o=this.#o.generate(16);this.exportForm.controls.password.setValue(o),this.exportForm.controls.repeatPassword.setValue(o),this.showCopyPassword.set(true);}static \u0275fac=function(e){return new(e||t$1)};static \u0275cmp=hw({type:t$1,selectors:[["app-export"]],decls:26,vars:13,consts:()=>{let o;o=$localize`${"\uFFFD#6\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#6\uFFFD"}:CLOSE_TAG_SH_ICON: Back `;let e;e=$localize`${"\uFFFD#9\uFFFD"}:START_TAG_SH_ICON:export${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SH_ICON: Export `;let n;n=$localize`${"\uFFFD#16\uFFFD"}:START_TAG_SH_ICON:terminal-window${"\uFFFD/#16\uFFFD"}:CLOSE_TAG_SH_ICON: As command line `;let a;a=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SH_ICON:file${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SH_ICON: To file `;let T;T=$localize` Export passwords ${"\uFFFD#22\uFFFD\uFFFD/#22\uFFFD"}:TAG_INPUT:`;let O;O=$localize` Encrypt file ${"\uFFFD#2\uFFFD\uFFFD/#2\uFFFD"}:TAG_INPUT:`;let h;h=$localize`Password`;let E;E=$localize`Repeat password`;let J;J=$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=oC(w);let H;H=$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 V;V=$localize` Passwords must be at least ${"\uFFFD0\uFFFD"}:INTERPOLATION: characters long `;let q;q=$localize`Passwords do not match`;let j;j=$localize`Passwords are required`;let W;W=$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=oC(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. `,[o,e,n,a,T,O,J,w,H,z,V,q,j,W,D,Q,[1,"actions"],["shButton","",1,"outlined",3,"routerLink"],["shButton","",1,"raised","primary",3,"click","shTooltip","disabled"],["autocomplete","off",3,"formGroup"],[1,"type-b",3,"valueChange","value"],["value","cmd"],["value","file"],[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",h,"formControlName","password",3,"type"],["error",""],[1,"raised",3,"error","warn","primary","success","value"],["id","repeatPassword","tabindex","5","autocomplete","off","placeholder",E,"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){e&1&&(Qi(0,"header")(1,"h3"),jC(2," Export backup configuration "),Qi(3,"div",16)(4,"button",17),Fg(5,0),Ig(6,"sh-icon"),jg(),$l(),Qi(7,"button",18),Hg("click",function(){return n.submit()}),Fg(8,1),Ig(9,"sh-icon"),jg(),$l()()(),Qi(10,"p"),jC(11),$l()(),Qi(12,"form",19)(13,"sh-button-group",20),lm("valueChange",function(T){return UC(n.exportType,T)||(n.exportType=T),T}),Qi(14,"button",21),Fg(15,2),Ig(16,"sh-icon"),jg(),$l(),Qi(17,"button",22),Fg(18,3),Ig(19,"sh-icon"),jg(),$l()(),Qi(20,"sh-toggle",23),Fg(21,4),Ig(22,"input",24),CD(),jg(),$l(),aT(23,be,3,0,"sh-toggle",25),aT(24,We,24,8,"div",26),aT(25,Qe,3,1,"div",27),$l()),e&2&&(CE(4),vg("routerLink",KC(12,Xe)),CE(3),Kg("loading",n.isExporting()),vg("shTooltip",n.encryptionFieldSignal()?"Remember to copy the password":"")("disabled",n.exportForm.invalid||n.showCopyPassword()&&!n.copiedPassword()||n.encryptionFieldSignal()&&n.exportForm.value.repeatPassword!==n.exportForm.value.password),CE(4),sm("#",n.activeBackup()?.Backup?.ID,": ",n.activeBackup()?.Backup?.Name),CE(),vg("formGroup",n.exportForm),CE(),cm("value",n.exportType),CE(9),_D(),CE(),cT(n.exportType()==="file"?23:-1),CE(),cT(n.encryptionFieldSignal()?24:-1),CE(),cT(n.exportedCmd()?25:-1));},dependencies:[Gn,Tn,Ze,yt,Rn,Pn,gn,hn,_t,x,J,N,Fe,v,ue,d,at],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}"]})};export{K as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import {OptionsListComponent as Oe}from'./chunk-
|
|
1
|
+
import {OptionsListComponent as Oe}from'./chunk-I5dxaHZ4.js';import {I}from'./chunk-h6n5A491.js';import {F as Fe}from'./chunk-DhiIZLrA.js';import {j as jn,G as Gn,T as Tn,Z as Ze,R as Rn,P as Pn,g as gn,h as hn}from'./chunk-B6c2NXNy.js';import {L}from'./chunk-DGvC49aU.js';import {T,ab as C,e as ee$1,aw as W,G as Ge,N as Nt,J as zu,h as hw,c as N,v,Q as Qi,H as Hg,d as aT,aP as ql,n as nC,aQ as Gl,p as lm,$ as $l,F as Fg,i as Ig,j as jg,y as vg,C as CE,g as cT,w as cm,a6 as be,at as h,aZ as ee$2,U as UC,r as CD,x as _D}from'./main-3NL5M6JB.js';import'./chunk-BZgAzrl9.js';import'./chunk-aCJqF9DH.js';import'./chunk-DXEgz1tV.js';import'./chunk-Dz5guW4b.js';import'./chunk-CyqqlRjO.js';import'./chunk-CX3Axjpk.js';import'./chunk-mA4J4_nC.js';import'./chunk-C3gUxHQM.js';import'./chunk-DidJB9ig.js';import'./chunk-DDWDcSq2.js';import'./chunk-MDqH8T3Z.js';import'./chunk-D1pDZLJ9.js';var d=class r{#t=T(be);destinationTargetUrl=Ge(null);destinationTestSignal=Ge(null);encryptionForm=Z();temporaryBackupId=Ge(null);updateTargetUrl(e){this.destinationTargetUrl.set(e);}showErrorDialog(e){this.#t.open(h,{data:{title:$localize`Error occured`,message:e,confirmText:$localize`OK`,cancelText:void 0},closed:n=>{}});}static \u0275fac=function(n){return new(n||r)};static \u0275prov=ee$2({token:r,factory:r.\u0275fac,providedIn:"root"})};function ne(r,e){r&1&&(Qi(0,"p"),nC(1,3),$l());}function oe(r,e){r&1&&(Qi(0,"sh-form-field")(1,"label",11),nC(2,4),$l(),Ig(3,"input",12),CD(),$l()),r&2&&(CE(3),_D());}var ee=new jn,Z=()=>ee.group({passphrase:ee.control("")}),f=class r{#t=T(C);#e=T(d);#n=T(ee$1);#o=T(W);encryptionForm=this.#e.encryptionForm;creatingTemporaryBackup=Ge(false);settings=Ge([]);hasEncryptedBackup=Nt(()=>{let e=this.#e.destinationTestSignal();return e==="testing"||typeof e=="string"?true:e?.containsEncryptedBackupFiles??true});passphraseSignal=L(this.encryptionForm.controls.passphrase.valueChanges);showEncryptionField=Ge(false);isValidConfig=Nt(()=>{if(!this.#e.destinationTargetUrl())return false;let n=this.#e.destinationTestSignal();return !(typeof n!="string"&&(n?.containsEncryptedBackupFiles??false)&&!this.passphraseSignal())});next(){let e=this.#e.destinationTargetUrl();if(!e)throw new Error("No target URL");this.creatingTemporaryBackup.set(true);let n=this.encryptionForm.value?.passphrase??null,t=[];n?t.push({Name:"--passphrase",Value:n}):t.push({Name:"--no-encryption",Value:"true"}),this.settings().forEach(i=>{let o=i.Name?.trim();o&&o!=="--"&&(o.startsWith("--")||(o=`--${o}`),t.push({Name:o,Value:i.Value??""}));}),this.#t.postApiV1Backups({requestBody:{Backup:{TargetURL:e,Settings:t}},temporary:true}).pipe(zu(()=>this.creatingTemporaryBackup.set(false))).subscribe({next:i=>{let o=i.ID;this.#e.temporaryBackupId.set(o),this.#n.navigate(["../select-config"],{relativeTo:this.#o});},error:i=>{console.error(i);}});}back(){this.#n.navigate(["../destination"],{relativeTo:this.#o});}static \u0275fac=function(n){return new(n||r)};static \u0275cmp=hw({type:r,selectors:[["app-import-destination-encryption"]],decls:14,vars:6,consts:()=>{let e;e=$localize`Advanced options`;let n;n=$localize`${"\uFFFD#10\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#10\uFFFD"}:CLOSE_TAG_SH_ICON: Back `;let t;t=$localize`${"\uFFFD#13\uFFFD"}:START_TAG_SH_ICON:arrow-right${"\uFFFD/#13\uFFFD"}:CLOSE_TAG_SH_ICON: Continue `;let i;i=$localize`The backup does not contain encrypted files.`;let o;o=$localize`Enter backup passphrase if defined.`;let P;return P=$localize`Password`,[e,n,t,i,P,[3,"submit","formGroup"],["title",""],[3,"optionsChange","options","hasFreeTextSettings"],[1,"form-actions"],["shButton","","type","button",3,"click"],["shButton","","type","submit",1,"raised","primary",3,"disabled"],["for","password"],["type","password","id","password","autocomplete","disabled","placeholder",o,"formControlName","passphrase"]]},template:function(n,t){n&1&&(Qi(0,"form",5),Hg("submit",function(){return t.next()}),aT(1,ne,2,0,"p"),aT(2,oe,4,0,"sh-form-field"),Qi(3,"sh-toggle-card"),ql(4,6),nC(5,0),Gl(),Qi(6,"app-options-list",7),lm("optionsChange",function(o){return UC(t.settings,o)||(t.settings=o),o}),$l()(),Qi(7,"div",8)(8,"button",9),Hg("click",function(){return t.back()}),Fg(9,1),Ig(10,"sh-icon"),jg(),$l(),Qi(11,"button",10),Fg(12,2),Ig(13,"sh-icon"),jg(),$l()()()),n&2&&(vg("formGroup",t.encryptionForm),CE(),cT(t.hasEncryptedBackup()?-1:1),CE(),cT(t.hasEncryptedBackup()||t.showEncryptionField()?2:-1),CE(4),cm("options",t.settings),vg("hasFreeTextSettings",true),CE(5),vg("disabled",!t.isValidConfig()));},dependencies:[Gn,Tn,Ze,Rn,Pn,gn,hn,Fe,N,v,I,Oe],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"]})};var chunk7BT3TBKR=/*#__PURE__*/Object.freeze({__proto__:null,createEncryptionForm:Z,default:f});export{chunk7BT3TBKR as c,d};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import {h as hw,Z as lr,
|
|
1
|
+
import {h as hw,Z as lr,i as Ig}from'./main-3NL5M6JB.js';var t=class o{static \u0275fac=function(e){return new(e||o)};static \u0275cmp=hw({type:o,selectors:[["app-welcome"]],decls:1,vars:0,template:function(e,m){e&1&&Ig(0,"router-outlet");},dependencies:[lr],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;min-height:100vh}"]})};export{t as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {ba as ue,E as E1,bb as ce,h as hw,bc as sg,S as aC,Y as cC,f as NC,ag as Yg}from'./main-3NL5M6JB.js';var p=["*"],x=(()=>{class o extends ue{constructor(){super("button","active",{hostRole:"group"}),this.id="--"+Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,12),this.color=E1(null),this.variant=E1(null),this.size=E1(null),this.hostClasses=ce("buttonGroup",{color:this.color,variant:this.variant,size:this.size});}static{this.\u0275fac=function(t){return new(t||o)};}static{this.\u0275cmp=hw({type:o,selectors:[["sh-button-group"]],hostVars:4,hostBindings:function(t,n){t&2&&(NC(n.hostClasses()),Yg("--btng-id",n.id));},inputs:{color:[1,"color"],variant:[1,"variant"],size:[1,"size"]},features:[sg],ngContentSelectors:p,decls:1,vars:0,template:function(t,n){t&1&&(aC(),cC(0));},styles:[`sh-button-group{--btng-bg: var(--base-3);--btng-item-bg: var(--base-1);--btng-c: var(--base-12);--btng-ic: var(--base-12);--btng-bc: var(--base-4);--btng-h: 2.5rem;--btng-p: 0 .75rem;--btng-s: var(--shape-2);--btng-s-a: var(--shape-2);--btng-f: var(--paragraph-30);display:inline-flex;height:var(--btng-h);max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;position:relative}sh-button-group::-webkit-scrollbar{display:none}sh-button-group{background-color:var(--btng-bg);background-image:linear-gradient(90deg,var(--btng-bg) 30%,rgba(255,255,255,0)),linear-gradient(-90deg,var(--btng-bg) 30%,rgba(255,255,255,0)),radial-gradient(farthest-side at 0% 50%,rgb(from var(--base-12) r g b/8%),rgb(from var(--base-12) r g b/0%)),radial-gradient(farthest-side at 100% 50%,rgb(from var(--base-12) r g b/8%),rgb(from var(--base-12) r g b/0%));background-repeat:no-repeat;background-position:left center,right center,left center,right center;background-size:1.5rem 100%,1.5rem 100%,.5rem 100%,.5rem 100%;background-attachment:local,local,scroll,scroll;padding:.1875rem;gap:.25rem;border:0;border-radius:var(--btng-s)}sh-button-group.small{--btng-h: 2rem;--btng-p: 0 .5rem}sh-button-group button{border:0;flex:1 0;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;position:relative;padding:var(--btng-p);min-width:auto;cursor:pointer;outline:none;line-height:inherit;-webkit-user-select:none;user-select:none;overflow:visible;vertical-align:middle;white-space:nowrap;background:transparent;color:var(--btng-c);font:var(--btng-f);border-radius:calc(var(--btng-s) / 3 * 2);transition:color 80ms linear,transform 125ms linear;transform:scale(1)}sh-button-group button:focus-visible{outline:2px solid var(--primary-8);outline-offset:-2px}sh-button-group button:active{transform:scale(.96)}sh-button-group button:hover{--btng-bg: var(--base-2)}sh-button-group button:hover,sh-button-group button.active{--btng-bg: var(--base-1);box-shadow:var(--box-shadow-10)}@supports not (anchor-name: --anchor){sh-button-group button{--btng-item-bg: var(--base-3);background:var(--btng-item-bg)}sh-button-group button:hover,sh-button-group button.active{--btng-c: var(--base-12);--btng-ic: var(--base-12);--btng-bg: var(--base-1);--btng-item-bg: var(--base-1)}}@supports (anchor-name: --anchor){sh-button-group button{z-index:1}sh-button-group button.active{position:relative;anchor-name:var(--btng-id)}}sh-button-group button[disabled]{opacity:.5;pointer-events:none;cursor:not-allowed}@supports (anchor-name: --anchor){sh-button-group:after{content:"";background:var(--btng-item-bg);pointer-events:none;position:absolute;z-index:0;top:anchor(top);bottom:anchor(bottom);left:anchor(left);right:anchor(right);position-anchor:var(--btng-id);transition:left .175s ease-out,right .175s ease-out;border-radius:calc(var(--btng-s) / 3 * 2)}}
|
|
2
2
|
`],encapsulation:2});}}return o})();export{x};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {O}from'./chunk-
|
|
1
|
+
import {O}from'./chunk-CuJ_uEdr.js';import {by as x,T,a6 as be,ab as C$1,m,a as T$1,bj as Q,G as Ge,N as Nt,z as za,at as h,aZ as ee}from'./main-3NL5M6JB.js';var S=new x("WindowToken",{providedIn:"root",factory:()=>typeof window<"u"?window:{}});var C=class l{#c=T(S);#g=T(be);#t=T(C$1);#o=T(m);#l=T(T$1);#n=T(Q);#u=T(O);constructor(){this.#l.subscribe("remotecontrol");}repeatRegisterTimer=null;#s=null;#r=0;#h=5;#m=2e3;pendingRefresh=false;state=Ge("unknown");claimUrl=Ge(null);registerUrl=Ge("");customRegisterUrl=Ge("");statusMessage=Nt(()=>{let e=this.state();return e==="connecting"?$localize`Console connection is enabled but not connected`:e==="connected"?$localize`Connected to console`:e==="registering"?$localize`Registering machine...`:e==="registeringfaulted"?$localize`Registration failed`:e==="registered"?$localize`Registered, waiting for accept`:e==="disabled"?$localize`Console connection is configured but not enabled`:e==="unknown"?$localize`...loading...`:$localize`Console connection is not set up`});sysInfoEffect=za(()=>{let e=this.#o.systemInfo();e&&this.registerUrl.set(e.RemoteControlRegistrationUrl??"");});remoteEffect=za(()=>{let e=this.#l.remoteControlState();e&&this.#e(e);});pendingRefreshEffect=za(()=>{this.#n.isConnectionMethodSet()&&this.pendingRefresh&&(this.pendingRefresh=false,this.refreshRemoteControlStatus());});#a=Nt(()=>{let e=this.#n.getConnectionMethod()==="websocket",i=this.#o.hasWsRemoteControl();return e&&i});#f(e){e.RegistrationUrl&&this.claimUrl.set(e.RegistrationUrl),e.IsConnected?this.state.set("connected"):e.IsEnabled?this.state.set("connecting"):e.CanEnable?this.state.set("disabled"):e.IsRegisteringFaulted?this.state.set("registeringfaulted"):e.IsRegistering?e.RegistrationUrl!=null&&e.RegistrationUrl.trim().length>0?this.state.set("registered"):this.state.set("registering"):this.state.set("inactive");}#e(e){if(this.#r=0,this.#f(e),this.#a())return;let i=this.state();this.repeatRegisterTimer!==null&&(clearTimeout(this.repeatRegisterTimer),this.repeatRegisterTimer=null),i==="registering"&&(this.repeatRegisterTimer=setTimeout(()=>{this.#t.postApiV1RemotecontrolRegisterWait().subscribe({next:t=>this.#e(t),error:t=>this.#i(t)});},5e3)),(i==="connecting"||i==="registered")&&(this.repeatRegisterTimer=setTimeout(()=>{this.#t.getApiV1RemotecontrolStatus().subscribe({next:t=>this.#e(t),error:t=>this.#i(t)});},5e3)),e.IsRegistering&&e.CanEnable&&this.#t.deleteApiV1RemotecontrolRegister().subscribe({next:t=>this.#e(t)});}#i(e){if(this.#s!==null&&(clearTimeout(this.#s),this.#s=null),this.#r>=this.#h){this.state.set("registeringfaulted"),this.#r=0;return}let i=this.#m*Math.pow(2,this.#r);this.#r++,this.#s=setTimeout(()=>{this.#s=null,this.#t.getApiV1RemotecontrolStatus().subscribe({next:t=>this.#e(t),error:t=>this.#i(t)});},i);}refreshRemoteControlStatus(){if(!this.#a()){if(!this.#n.isConnectionMethodSet()){this.pendingRefresh=true;return}this.#t.getApiV1RemotecontrolStatus().subscribe({next:e=>this.#e(e),error:e=>this.#i(e)});}}beginRemoteRegistration(e=false){this.state.set("registering"),this.#t.postApiV1RemotecontrolRegister({requestBody:{RegistrationUrl:e?this.customRegisterUrl():this.registerUrl()}}).subscribe({next:i=>this.#e(i),error:i=>this.#i(i)});}cancelRemoteRegistration(){this.#t.deleteApiV1RemotecontrolRegister().subscribe({next:e=>this.#e(e),error:e=>this.#i(e)});}enableRemoteControl(){this.#t.postApiV1RemotecontrolEnable().subscribe({next:e=>this.#e(e),error:e=>this.#i(e)});}disableRemoteControl(){this.#t.postApiV1RemotecontrolDisable().subscribe({next:e=>this.#e(e),error:e=>this.#i(e)});}deleteRemoteControl(){let e=this;this.#g.open(h,{data:{title:$localize`Confirm delete`,message:$localize`Are you sure you want to delete the console registration?`,confirmText:$localize`Delete registration`,cancelText:$localize`Cancel`},closed:i=>{i&&e.#t.deleteApiV1RemotecontrolRegistration().subscribe({next:t=>e.#e(t),error:t=>e.#i(t)});}});}openConsole(e="/app/machines",i){let t=this.#u.serverSettings(),y=this.#o.systemInfo(),r="https://app.duplicati.com",c=y?.RemoteControlDashboardUrl??"";if(c.length>0&&(r=c),t&&t["remote-control-dashboard-url"]&&(r=t["remote-control-dashboard-url"]),r=new URL(r).origin+e,i){let v=new URLSearchParams(i);r+=`?${v.toString()}`;}this.#c.open(r,"_blank");}static \u0275fac=function(i){return new(i||l)};static \u0275prov=ee({token:l,factory:l.\u0275fac,providedIn:"root"})};
|
|
2
2
|
export{C,S};
|