@duplicati/ngclient 0.0.212 → 0.0.213
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-CNYY7AQK.js → chunk-3IZWJV72.js} +1 -1
- package/{chunk-HVFJYWAN.js → chunk-5REJ6F23.js} +1 -1
- package/chunk-7FDLOZXV.js +1 -0
- package/{chunk-NRQEZLYN.js → chunk-BLPTBPXV.js} +1 -1
- package/{chunk-VEXVMT3W.js → chunk-C5OIC3DB.js} +1 -1
- package/{chunk-QRABW3YV.js → chunk-CFJXIOSV.js} +1 -1
- package/{chunk-V2NDJVRA.js → chunk-CQYKOCGO.js} +1 -1
- package/{chunk-2JEQ7BV6.js → chunk-CW43F6WE.js} +1 -1
- package/{chunk-6HSYT4DG.js → chunk-DFVPFPMV.js} +1 -1
- package/{chunk-TVA237PQ.js → chunk-EGTYGTQI.js} +1 -1
- package/chunk-I625OICV.js +1 -0
- package/{chunk-36UMECQ6.js → chunk-IWDA6CMP.js} +1 -1
- package/{chunk-JTPUS6BT.js → chunk-J5TWEZOP.js} +1 -1
- package/chunk-J5VU6VA4.js +1 -0
- package/{chunk-WLU7TGVD.js → chunk-JLSU6WKG.js} +1 -1
- package/{chunk-7735MTTP.js → chunk-JMLM4A3C.js} +1 -1
- package/{chunk-5RK6PXUG.js → chunk-KMGGFCBZ.js} +1 -1
- package/{chunk-N5ZBB5VR.js → chunk-LQKECNBH.js} +1 -1
- package/{chunk-AOMXVXMB.js → chunk-NBKLLQQO.js} +1 -1
- package/chunk-PBYZZEYM.js +1 -0
- package/{chunk-6EOMDYWB.js → chunk-R5OX4JTJ.js} +1 -1
- package/{chunk-2A5USVIH.js → chunk-SGLY2D7Y.js} +1 -1
- package/{chunk-NK2B3YKP.js → chunk-T2X5J6MQ.js} +1 -1
- package/chunk-TGZAL6DJ.js +1 -0
- package/{chunk-STGN2W4U.js → chunk-TPHRU6NP.js} +1 -1
- package/{chunk-SHZXLIG5.js → chunk-U34FLIYL.js} +1 -1
- package/{chunk-WT5O6MNC.js → chunk-UE37PPYX.js} +1 -1
- package/{chunk-WPVSY5MT.js → chunk-V7UJAXBT.js} +1 -1
- package/chunk-VCIINZCU.js +1 -0
- package/{chunk-G6V7E6VM.js → chunk-WIE7KXIC.js} +1 -1
- package/{chunk-CJVAK3WV.js → chunk-XAYG4QT7.js} +1 -1
- package/{chunk-ST6HBZ55.js → chunk-YHVGLFWL.js} +1 -1
- package/{chunk-6DZ74HAA.js → chunk-YPWKWP5H.js} +1 -1
- package/{chunk-L26PO2OC.js → chunk-Z7CZCI7E.js} +1 -1
- package/{chunk-PHN2W7W7.js → chunk-ZJOUYWI2.js} +1 -1
- package/{chunk-52REVNJZ.js → chunk-ZK3S23CJ.js} +1 -1
- package/index.html +1 -1
- package/{main-SIS2YGAN.js → main-ZP6YWLCN.js} +1 -1
- package/package.json +1 -1
- package/chunk-2D2IMXRC.js +0 -1
- package/chunk-3AZTY4MH.js +0 -1
- package/chunk-5ENU22GJ.js +0 -1
- package/chunk-IJY7JGOL.js +0 -1
- package/chunk-SI4C7DCS.js +0 -1
- package/chunk-Y4EMWRGE.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as _e}from"./chunk-
|
|
1
|
+
import{a as _e}from"./chunk-ZK3S23CJ.js";import"./chunk-GO22QPW4.js";import"./chunk-FMDSOHVR.js";import"./chunk-NBKLLQQO.js";import"./chunk-I625OICV.js";import{a as se}from"./chunk-XCVBN7EK.js";import"./chunk-ADB5QRUO.js";import"./chunk-22PELS6R.js";import"./chunk-6Q6SSTBK.js";import"./chunk-MRSBKQQM.js";import"./chunk-7FDLOZXV.js";import"./chunk-EQNDYV43.js";import{a as b}from"./chunk-35APLYI4.js";import"./chunk-LU7TIW3P.js";import"./chunk-YMUS7QSB.js";import{a as le,b as m}from"./chunk-ZXQSQRKN.js";import"./chunk-XZNYCTQB.js";import"./chunk-R6TFME5I.js";import"./chunk-AZRNX5LU.js";import{B as ae,H as ie,Y as ne,c as Q,e as Y,i as Z,s as x,v as ee,z as te}from"./chunk-NCXKMSRH.js";import{d as oe}from"./chunk-QAQMMCTH.js";import{b as q,e as j}from"./chunk-KHZ5AXGT.js";import"./chunk-L2QOWZDR.js";import"./chunk-BRL4YYWO.js";import"./chunk-BDQJFOCO.js";import"./chunk-FSHBOASN.js";import{C as G,Cb as d,D as g,Db as n,E as L,Eb as i,F as p,Fb as c,Rc as E,Sa as _,Tb as u,Ub as h,Vb as A,Wb as H,Xb as J,Zb as T,_ as F,gb as V,kc as C,mc as K,nc as D,pa as s,q as y,ra as P,sc as X,tc as z,uc as W,wb as w,xb as U}from"./chunk-UH2E7MMT.js";import"./chunk-7CGTOI24.js";function re(r,t){r&1&&(n(0,"sh-icon",19),D(1,"spinner"),i())}function ce(r,t){r&1&&(n(0,"sh-icon",20),D(1,"check"),i())}function de(r,t){r&1&&(n(0,"sh-icon",21),D(1,"warning"),i()),r&2&&d("shTooltip","File not found")}function ue(r,t){let a=le(r).pipe(G(t),L());return m(a,{initialValue:r()})}var N=class r{#o=F(q);#s=F(se);#e=F(oe);#a=F(te);#t=s("");backupId=m(this.#o.params.pipe(y(t=>t.id)));activeBackup=E(()=>this.#s.backups().find(t=>t.Backup?.ID===this.backupId()));backupFilePath=s("");lastValidatedPath=s("");isValidatedPath=E(()=>this.lastValidatedPath()===this.backupFilePath());pathHasChanged=E(()=>this.backupFilePath()!==this.#t());isValidatingPath=s(!1);#i=ue(this.backupFilePath,500);#n=s(!1);isWaitingForValidation=E(()=>this.#i()!=this.backupFilePath()||this.isValidatingPath());backupFilePathEffect=P(()=>{let t=this.#i(),a=this.activeBackup(),e=this.#n();t!==""&&(this.isValidatingPath.set(!0),this.#e.postApiV1FilesystemValidate({requestBody:{path:t}}).pipe(g(1),p(()=>this.isValidatingPath.set(!1))).subscribe(()=>this.lastValidatedPath.set(t)))});isRestoring=s(!1);isRepairing=s(!1);isDeleting=s(!1);isSavingDbPath=s(!1);isSavingAndRepairing=s(!1);isMovingDb=s(!1);isCreatingBugReport=s(!1);createdReport=s(!1);activeBackupEffect=P(()=>{let t=this.activeBackup();if(!t)return;let a=t.Backup?.DBPath??"";this.backupFilePath.set(a),this.#t.set(a)});repairDatabase(){this.isRepairing.set(!0),this.#e.postApiV1BackupByIdRepair({id:this.backupId()}).pipe(g(1),p(()=>this.isRepairing.set(!1))).subscribe()}deleteDatabase(t=null){this.isValidatedPath()?this.#a.open(b,{data:{title:$localize`Confirm delete?`,message:$localize`Do you really want to delete the database for ${this.activeBackup()?.Backup?.Name}?`,confirmText:$localize`Delete database`,cancelText:$localize`Cancel`},closed:a=>{a&&this.doDeleteDatabase(t)}}):this.doDeleteDatabase(t)}doDeleteDatabase(t=null){this.isDeleting.set(!0),this.#e.postApiV1BackupByIdDeletedb({id:this.backupId()}).pipe(g(1),p(()=>this.isDeleting.set(!1))).subscribe(()=>{this.lastValidatedPath.set(""),t?.()})}restoreDatabase(){this.isValidatedPath()?this.deleteDatabase(()=>{this.doRepairDatabase()}):this.doRepairDatabase()}doRepairDatabase(){this.isRestoring.set(!0),this.#e.postApiV1BackupByIdRepair({id:this.backupId(),requestBody:{refresh_lock_info:!0}}).pipe(g(1),p(()=>this.isRestoring.set(!1))).subscribe()}resetDatabasePath(){this.backupFilePath.set(this.#t())}saveDatabasePath(t=null){this.isValidatedPath()?this.#a.open(b,{data:{title:$localize`Confirm reassign?`,message:$localize`The target database path already exists and may belong to another backup. Are you sure you want to assign this backup to an existing database?`,confirmText:$localize`Assign existing database`,cancelText:$localize`Cancel`},closed:a=>{a&&this.doSaveDatabasePath(t)}}):this.doSaveDatabasePath(t)}doSaveDatabasePath(t=null){this.isSavingDbPath.set(!0);let a=this.backupFilePath();this.#e.postApiV1BackupByIdUpdatedb({id:this.backupId(),requestBody:{path:a}}).pipe(p(()=>this.isSavingDbPath.set(!1))).subscribe(()=>{this.#t.set(a),t?.()})}saveAndRepairDatabasePath(){this.saveDatabasePath(()=>(this.isSavingAndRepairing.set(!0),this.#e.postApiV1BackupByIdRepair({id:this.backupId()}).pipe(g(1),p(()=>this.isSavingAndRepairing.set(!1))).subscribe()))}moveDatabasePath(){this.isMovingDb.set(!0);let t=this.backupFilePath();this.#e.postApiV1BackupByIdMovedb({id:this.backupId(),requestBody:{path:t}}).pipe(p(()=>this.isMovingDb.set(!1))).subscribe(()=>{this.#n.update(a=>!a),this.#t.set(t)})}createErrorReport(){this.isCreatingBugReport.set(!0),this.#e.postApiV1BackupByIdCreatereport({id:this.backupId()}).pipe(p(()=>this.isCreatingBugReport.set(!1))).subscribe({next:()=>{this.createdReport.set(!0),window.setTimeout(()=>this.createdReport.set(!1),3e3)}})}static \u0275fac=function(a){return new(a||r)};static \u0275cmp=V({type:r,selectors:[["app-database"]],decls:50,vars:21,consts:()=>{let t;t=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SH_ICON: Back `;let a;a=$localize`Local database for ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let e;e=$localize` Each backup has a local database associated with it, which stores information about the remote backup on the local machine. This makes it faster to perform many operations, and reduces the amount of data that needs to be downloaded for each operation. `;let o;o=$localize`Maintenance`;let S;S=$localize` If the backup and the remote storage is out of sync, Duplicati will require that you perform a repair operation to synchronize the database. If the repair is unsuccessful, you can delete the local database and re-generate. The bug report button can be used to create a copy of the database with path information removed. This should only be used if a developer requests to investigate an issue with your database. `;let f;f=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SH_ICON:wrench${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SH_ICON: Repair `;let I;I=$localize`${"\uFFFD#22\uFFFD"}:START_TAG_SH_ICON:trash${"\uFFFD/#22\uFFFD"}:CLOSE_TAG_SH_ICON: Delete `;let M;M=$localize`${"\uFFFD#25\uFFFD"}:START_TAG_SH_ICON:clock-counter-clockwise${"\uFFFD/#25\uFFFD"}:CLOSE_TAG_SH_ICON: Recreate (delete and repair) `;let R;R=$localize`${"\uFFFD#28\uFFFD"}:START_TAG_SH_ICON:file-plus${"\uFFFD/#28\uFFFD"}:CLOSE_TAG_SH_ICON: Create bug report database `;let B;B=$localize`Placement`;let O;O=$localize`${"\uFFFD#40\uFFFD"}:START_TAG_SH_ICON:backspace${"\uFFFD/#40\uFFFD"}:CLOSE_TAG_SH_ICON: Reset `;let $;$=$localize`${"\uFFFD#43\uFFFD"}:START_TAG_SH_ICON:floppy-disk${"\uFFFD/#43\uFFFD"}:CLOSE_TAG_SH_ICON: Save `;let v;v=$localize`${"\uFFFD#46\uFFFD"}:START_TAG_SH_ICON:wrench${"\uFFFD/#46\uFFFD"}:CLOSE_TAG_SH_ICON: Save & Repair `;let k;return k=$localize`${"\uFFFD#49\uFFFD"}:START_TAG_SH_ICON:flow-arrow${"\uFFFD/#49\uFFFD"}:CLOSE_TAG_SH_ICON: Move existing database `,[t,a,e,o,S,f,I,M,R,B,O,$,v,k,[1,"back"],["type","button","shButton","","routerLink","/",1,"small"],[1,"actions","maintenance"],["shButton","",3,"click","disabled"],["type","text",3,"ngModelChange","ngModel"],["prefix","",1,"primary"],["prefix",""],["prefix","",3,"shTooltip"],[1,"actions","placement"]]},template:function(a,e){if(a&1&&(c(0,"app-status-bar"),n(1,"section")(2,"div",14)(3,"button",15),u(4,0),c(5,"sh-icon"),h(),i()(),n(6,"article")(7,"h1"),A(8,1),i(),n(9,"p"),A(10,2),i()(),n(11,"article")(12,"h2"),A(13,3),i(),n(14,"p"),A(15,4),i(),n(16,"div",16)(17,"button",17),T("click",function(){return e.repairDatabase()}),u(18,5),c(19,"sh-icon"),h(),i(),n(20,"button",17),T("click",function(){return e.deleteDatabase()}),u(21,6),c(22,"sh-icon"),h(),i(),n(23,"button",17),T("click",function(){return e.restoreDatabase()}),u(24,7),c(25,"sh-icon"),h(),i(),n(26,"button",17),T("click",function(){return e.createErrorReport()}),u(27,8),c(28,"sh-icon"),h(),i()()(),n(29,"article")(30,"h2"),A(31,9),i(),n(32,"sh-form-field")(33,"input",18),W("ngModelChange",function(S){return z(e.backupFilePath,S)||(e.backupFilePath=S),S}),i(),w(34,re,2,0,"sh-icon",19)(35,ce,2,0,"sh-icon",20)(36,de,2,1,"sh-icon",21),i(),n(37,"div",22)(38,"button",17),T("click",function(){return e.resetDatabasePath()}),u(39,10),c(40,"sh-icon"),h(),i(),n(41,"button",17),T("click",function(){return e.saveDatabasePath()}),u(42,11),c(43,"sh-icon"),h(),i(),n(44,"button",17),T("click",function(){return e.saveAndRepairDatabasePath()}),u(45,12),c(46,"sh-icon"),h(),i(),n(47,"button",17),T("click",function(){return e.moveDatabasePath()}),u(48,13),c(49,"sh-icon"),h(),i()()()()),a&2){let o;_(8),H((o=e.activeBackup())==null||o.Backup==null?null:o.Backup.Name),J(8),_(9),C("loading",e.isRepairing()),d("disabled",!e.isValidatedPath()||e.pathHasChanged()),_(3),C("loading",e.isDeleting()),d("disabled",!e.isValidatedPath()||e.pathHasChanged()),_(3),C("loading",e.isRestoring()),d("disabled",e.pathHasChanged()),_(3),C("loading",e.isCreatingBugReport()),d("disabled",e.isCreatingBugReport()||!e.isValidatedPath()||e.pathHasChanged()),_(6),K(e.isValidatedPath()?"success":"error"),_(),X("ngModel",e.backupFilePath),_(),U(e.isWaitingForValidation()?34:e.isValidatedPath()?35:36),_(4),d("disabled",!e.pathHasChanged()),_(3),d("disabled",!e.pathHasChanged()||e.isWaitingForValidation()),_(3),d("disabled",!e.pathHasChanged()||e.isWaitingForValidation()),_(3),d("disabled",!e.pathHasChanged()||e.isValidatedPath()||e.isWaitingForValidation())}},dependencies:[x,Q,Y,Z,_e,ae,ie,ee,ne,j],styles:["[_nghost-%COMP%]{display:block}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;padding:2rem}article[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}h1[_ngcontent-%COMP%]{font:var(--title-20)}h2[_ngcontent-%COMP%]{font:var(--title-30)}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}"],changeDetection:0})};export{N as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as yt,b as Ut,c as $t,l as Lt,p as Rt,q as vt}from"./chunk-6HSYT4DG.js";import"./chunk-5L2OOKRZ.js";import"./chunk-OO32MPRQ.js";import{b as Mt,c as Ft,d as wt}from"./chunk-OBF6ZSYT.js";import"./chunk-6Q6SSTBK.js";import"./chunk-3AZTY4MH.js";import"./chunk-EQNDYV43.js";import"./chunk-35APLYI4.js";import"./chunk-YMUS7QSB.js";import"./chunk-ZXQSQRKN.js";import"./chunk-XZNYCTQB.js";import"./chunk-R6TFME5I.js";import"./chunk-AZRNX5LU.js";import{B as ht,C as It,G as ft,H as Ot,K as Dt,L as Pt,V as xt,W as At,c as ct,e as dt,f as Ct,g as gt,i as ut,j as Tt,r as pt,s as mt,v as St,w as Nt,y as Et}from"./chunk-NCXKMSRH.js";import"./chunk-QAQMMCTH.js";import{b as _t,d as lt}from"./chunk-KHZ5AXGT.js";import"./chunk-L2QOWZDR.js";import"./chunk-BRL4YYWO.js";import"./chunk-BDQJFOCO.js";import"./chunk-FSHBOASN.js";import{$b as s,Ab as M,Bb as F,Bc as rt,Cb as E,Db as a,Eb as r,Fb as h,Jb as b,Kb as G,Mb as N,Rc as $,Sa as l,Tb as f,Ub as O,Vb as S,Zb as C,Zc as st,_ as P,da as c,ea as d,gb as et,gc as nt,ha as tt,hc as it,kc as ot,nc as g,oc as D,pa as I,ra as v,sc as w,tc as y,uc as U,vc as at,wb as T,wc as k,xb as p,xc as x,yb as A}from"./chunk-UH2E7MMT.js";import"./chunk-7CGTOI24.js";var bt=["testUrl"],Gt=()=>({maxWidth:"700px",width:"100%"});function kt(o,n){if(o&1){let t=N();a(0,"sh-card",30)(1,"div",32)(2,"h3"),S(3,4),r(),a(4,"button",33),C("click",function(){c(t);let i=s(3);return d(i.closeCustomList())}),g(5," Cancel "),a(6,"sh-icon"),g(7,"x-bold"),r()()(),a(8,"app-destination-list",34),C("setDestination",function(i){c(t);let _=s(3);return d(_.setDestination(i))}),r()()}}function Bt(o,n){if(o&1){let t=N();a(0,"div",40)(1,"sh-toggle",43),U("checkedChange",function(i){c(t);let _=s(2).$implicit;return y(_.save,i)||(_.save=i),d(i)}),a(2,"span",44),S(3,8),r()()()}if(o&2){let t=s(2).$implicit;l(),E("color","primary")("variant","raised"),w("checked",t.save)}}function Vt(o,n){if(o&1){let t=N();a(0,"sh-toggle-card",31),b(1,35),a(2,"app-destination-list-item",36)(3,"button",33),C("click",function(){c(t);let i=s().$index,_=s(2);return d(_.changeDestination(i))}),g(4,"Change"),r(),a(5,"sh-menu",37),C("click",function(i){return i.stopPropagation()}),a(6,"button",38)(7,"sh-icon"),g(8,"dots-three-vertical"),r()(),b(9,39),a(10,"button",33),C("click",function(){c(t);let i=s().$index,_=s(2);return d(_.openTargetUrlDialog(i))}),f(11,5),h(12,"sh-icon"),O(),r(),a(13,"button",33),C("click",function(){c(t);let i=s().$index,_=s(2);return d(_.copyTargetUrl(i))}),f(14,6),h(15,"sh-icon"),O(),r(),a(16,"button",33),C("click",function(){c(t);let i=s().$index,_=s(2);return d(_.removeDestination(i))}),f(17,7),h(18,"sh-icon"),O(),r(),G(),r()(),G(),T(19,Bt,4,3,"div",40),a(20,"app-test-url",41,1),C("targetUrlChange",function(i){c(t);let _=s().$index,m=s(2);return d(m.updateTargetUrl(_,i))})("testSignalChange",function(i){c(t);let _=s().$index,m=s(2);return d(m.updateTestState(_,i))}),r(),a(22,"app-single-destination",42),C("targetUrlChange",function(i){c(t);let _=s().$index,m=s(2);return d(m.updateTargetUrl(_,i))}),r()()}if(o&2){let t=s(),e=t.$implicit,i=t.$index,_=s(2);E("disableToggle",!0)("isActive",!0),l(2),E("targetUrl",e.url)("connectionStringId",e.connectionStringId),l(17),p(e.connectionStringId?-1:19),l(),E("targetUrl",e.url)("testSignal",_.testStates()[i]||null)("backupId",_.backupId())("connectionStringId",e.connectionStringId)("sourcePrefix",null)("suppressErrorDialogs",!1)("askToCreate",!0)("testExpectation",_.isNew()?"destinationEmpty":"any")("moduleType","Backend"),l(2),E("targetUrl",e.url)("useBackupState",!0)}}function Kt(o,n){if(o&1&&T(0,kt,9,0,"sh-card",30)(1,Vt,23,16,"sh-toggle-card",31),o&2){let t=n.$index,e=s(2);p(e.showCustomList()&&e.currentEditingIndex()===t?0:1)}}function Jt(o,n){if(o&1&&M(0,Kt,2,1,null,null,A),o&2){s();let t=x(0);F(t)}}function Xt(o,n){o&1&&(a(0,"div",45),h(1,"sh-progress-bar",46),a(2,"div",47)(3,"h3"),S(4,9),r()()())}function zt(o,n){o&1&&(a(0,"sh-divider"),S(1,12),r())}function Ht(o,n){if(o&1&&(a(0,"p",52),g(1),r()),o&2){let t=s().$implicit;l(),D(t.Description)}}function Wt(o,n){if(o&1&&(a(0,"p",52),g(1),r()),o&2){let t=s().$implicit,e=s(4);l(),D(e.getSimplePath(t.BaseUrl))}}function jt(o,n){if(o&1){let t=N();a(0,"app-destination-list-item",50),C("click",function(){let i=c(t).$implicit,_=s(4);return d(_.selectSavedDestination(i))})("keydown.enter",function(i){return i.target.click()})("keydown.space",function(i){return i.target.click()}),a(1,"h3",51),g(2),r(),T(3,Ht,2,1,"p",52)(4,Wt,2,1,"p",52),r()}if(o&2){let t=n.$implicit;E("targetUrl",t.BaseUrl),l(2),D(t.Name||t.BaseUrl),l(),p(t.Description?3:4)}}function Qt(o,n){if(o&1){let t=N();a(0,"sh-card",48),C("click",function(){c(t);let i=s(3);return d(i.toggleCustomList())})("keydown.enter",function(i){return i.target.click()})("keydown.space",function(i){return i.target.click()}),a(1,"sh-icon"),g(2,"plus-circle"),r(),a(3,"div",47)(4,"h3"),S(5,10),r(),a(6,"p"),S(7,11),r()()(),T(8,zt,2,0,"sh-divider"),M(9,jt,5,3,"app-destination-list-item",49,A)}if(o&2){let t=s(3);l(8),p(t.destinations().length>0?8:-1),l(),F(t.destinations())}}function qt(o,n){if(o&1&&T(0,Xt,5,0,"div",45)(1,Qt,11,1),o&2){let t=s(2);p(t.isLoadingDestinations()?0:1)}}function Yt(o,n){o&1&&(a(0,"sh-divider"),S(1,15),r())}function Zt(o,n){if(o&1&&(a(0,"p",52),g(1),r()),o&2){let t=s().$implicit;l(),D(t.Description)}}function te(o,n){if(o&1&&(a(0,"p",52),g(1),r()),o&2){let t=s().$implicit,e=s(3);l(),D(e.getSimplePath(t.BaseUrl))}}function ee(o,n){if(o&1){let t=N();a(0,"app-destination-list-item",57),C("click",function(){let i=c(t).$implicit,_=s(3);return d(_.selectSavedDestination(i))}),a(1,"h3",51),g(2),r(),T(3,Zt,2,1,"p",52)(4,te,2,1,"p",52),r()}if(o&2){let t=n.$implicit;E("targetUrl",t.BaseUrl),l(2),D(t.Name||t.BaseUrl),l(),p(t.Description?3:4)}}function ne(o,n){if(o&1){let t=N();a(0,"div",53)(1,"button",54),C("click",function(){c(t);let i=s(2);return d(i.closeCustomList())}),a(2,"sh-icon"),g(3,"arrow-left"),r(),g(4," Back "),r()(),a(5,"sh-card",55),C("click",function(){c(t);let i=s(2);return d(i.toggleCustomList())}),a(6,"sh-icon"),g(7,"plus-circle"),r(),a(8,"div",47)(9,"h3"),S(10,13),r(),a(11,"p"),S(12,14),r()()(),T(13,Yt,2,0,"sh-divider"),M(14,ee,5,3,"app-destination-list-item",56,A)}if(o&2){let t=s(2);l(13),p(t.destinations().length>0?13:-1),l(),F(t.destinations())}}function ie(o,n){if(o&1){let t=N();a(0,"div",53)(1,"button",54),C("click",function(){c(t);let i=s(3);return d(i.closeCustomList())}),a(2,"sh-icon"),g(3,"arrow-left"),r()(),a(4,"h3"),S(5,16),r()()}}function oe(o,n){if(o&1){let t=N();T(0,ie,6,0,"div",53),a(1,"app-destination-list",34),C("setDestination",function(i){c(t);let _=s(2);return d(_.setDestination(i))}),r()}if(o&2){let t=s(2),e=x(0);p(t.destinations().length>0||e.length>0?0:-1)}}function ae(o,n){if(o&1&&T(0,qt,2,1)(1,ne,16,1)(2,oe,2,1),o&2){let t=s(),e=x(1);p(!t.showCustomList()&&!e&&!t.isAddingNew()?0:t.isAddingNew()&&!t.showCustomList()?1:2)}}function re(o,n){if(o&1){let t=N();a(0,"div",25)(1,"button",58),C("click",function(){c(t);let i=s();return d(i.startAddingNew())}),a(2,"sh-icon"),g(3,"plus"),r(),g(4," Add another destination "),r()()}}function se(o,n){o&1&&(a(0,"h2"),S(1,19),r())}function _e(o,n){o&1&&(a(0,"h2"),S(1,20),r())}function le(o,n){if(o&1){let t=N();a(0,"sh-dialog",59),U("isOpenChange",function(i){c(t);let _=s();return y(_.targetUrlDialogOpen,i)||(_.targetUrlDialogOpen=i),d(i)}),a(1,"header",60)(2,"div",61),T(3,se,2,0,"h2")(4,_e,2,0,"h2"),a(5,"sh-alert",62),S(6,17),r()()(),a(7,"div",63)(8,"sh-form-field")(9,"textarea",64),U("ngModelChange",function(i){c(t);let _=s();return y(_.targetUrlCtrl,i)||(_.targetUrlCtrl=i),d(i)}),r()()(),a(10,"footer",65)(11,"button",27),C("click",function(){c(t);let i=s();return d(i.closeTargetUrlDialog(!1))}),g(12,"Cancel"),r(),a(13,"button",66),C("click",function(){c(t);let i=s();return d(i.closeTargetUrlDialog(!0))}),f(14,18),h(15,"sh-icon"),O(),r()()()}if(o&2){let t=s(),e=x(1);w("isOpen",t.targetUrlDialogOpen),E("options",rt(4,Gt)),l(3),p(e?4:3),l(6),w("ngModel",t.targetUrlCtrl)}}var L=new pt,Ae=(o={destinations:[]})=>L.group({destinations:L.array(o.destinations)}),Me=({key:o,customGroup:n,dynamicGroup:t,advancedGroup:e})=>L.group({destinationType:L.control(o),custom:n,dynamic:t,advanced:e}),B=class o{#n=P(lt);#i=P(_t);#t=P(Rt);#e=P(yt);injector=P(tt);testUrlComponents=st("testUrl");testStates=I([]);targetUrls=this.#t.targetUrls;targetUrlModel=$(()=>this.targetUrls()[0]?.url??null);targetUrlCtrl=I(null);targetUrlInitial=I(null);currentEditingIndex=I(null);targetUrlDialogOpen=I(!1);showCustomList=I(!1);isConnectionStringSaved=this.#t.isConnectionStringSaved;destinations=this.#e.destinations;isLoadingDestinations=this.#e.resourceDestinations.isLoading;isNew=this.#t.isNew;backupId=this.#t.backupId;selectedDestinationType=$(()=>{let n=this.targetUrlModel();return n?Ft(n)??null:null});isLoadingDestinationEffect=v(()=>{let n=this.isLoadingDestinations(),t=this.destinations(),e=this.targetUrls();!n&&t.length==0&&e.length==0&&this.toggleCustomList()});selectedDestinationTypeOption=$(()=>{let n=this.selectedDestinationType();return n?{key:n.customKey??n.key,customKey:n.customKey??null,displayName:n.displayName,description:n.description,icon:n.icon}:null});getConnectionString(n){let t=this.#e.destinations().find(e=>e.ID===n);return console.log("connection",t),t}getSimplePath(n){return n?Mt(n):""}copyTargetUrl(n=0){let t=this.targetUrls()[n]?.url;t&&navigator.clipboard.writeText(t)}openTargetUrlDialog(n=0){let t=this.targetUrls()[n]?.url??null;this.targetUrlCtrl.set(t),this.targetUrlInitial.set(t),this.currentEditingIndex.set(n),this.targetUrlDialogOpen.set(!0)}closeTargetUrlDialog(n=!1){this.targetUrlDialogOpen.set(!1);let t=this.targetUrlCtrl(),e=this.targetUrlInitial();if(!n||t===e||!t)return;let i=this.currentEditingIndex();if(i!==null){let _=this.targetUrls()[i]?.connectionStringId??null,m=this.targetUrls()[i]?.urlKey??null;this.#t.updateTargetUrl(i,t,_,m)}else this.#t.setTargetUrl(t);this.currentEditingIndex.set(null)}setDestination(n){let t=wt(n??"");if(!t)return;let e=t.mapper.default?t.mapper.default(this.#t.backupName()??""):`${n}://`;if(this.currentEditingIndex()!==null){this.#t.updateTargetUrl(this.currentEditingIndex(),e,null,null),this.updateTestState(this.currentEditingIndex(),null),this.currentEditingIndex.set(null),this.showCustomList.set(!1);return}this.showCustomList()?(this.#t.addTargetUrl(e,null,null),this.showCustomList.set(!1),this.isAddingNew.set(!1)):(this.#t.addTargetUrl(e,null,null),this.showCustomList.set(!1),this.isAddingNew.set(!1))}targetUrlsEffect=v(()=>{let n=this.targetUrls();this.testStates.update(t=>{if(t.length===n.length)return t;let e=[...t];if(e.length<n.length)for(let i=e.length;i<n.length;i++)e.push(null);else e.length=n.length;return e})});selectSavedDestination(n){n.BaseUrl&&n.BaseUrl&&(this.targetUrls().length===0?this.#t.setTargetUrl(n.BaseUrl,!0,n.ID,null):(this.#t.addTargetUrl(n.BaseUrl,n.ID,null),this.showCustomList.set(!1),this.isAddingNew.set(!1)))}toggleCustomList(){this.currentEditingIndex.set(null),this.showCustomList.set(!0)}isAddingNew=I(!1);startAddingNew(){this.isAddingNew.set(!0),this.destinations().length===0&&this.showCustomList.set(!0)}changeDestination(n){this.currentEditingIndex.set(n),this.showCustomList.set(!0)}closeCustomList(){this.showCustomList.set(!1),this.currentEditingIndex.set(null),this.isAddingNew.set(!1)}removeDestination(n){this.#t.removeTargetUrl(n)}updateTargetUrl(n,t){if(!t)return;let e=this.targetUrls()[n]?.connectionStringId??null,i=this.targetUrls()[n]?.urlKey??null;this.#t.updateTargetUrl(n,t,e,i),this.updateTestState(n,null)}updateTestState(n,t){this.testStates.update(e=>{let i=[...e];return i[n]=t,i})}toggleSave(n){this.#t.toggleSaveConnectionString(n)}goBack(){this.#n.navigate(["general"],{relativeTo:this.#i.parent})}async next(){if(!this.#t.isNew()){this.#o();return}let t=this.testUrlComponents(),e=this.testStates();for(let i=0;i<t.length;i++){let _=t[i],m=this.testStates()[i];if(m&&typeof m!="string"&&m.action==="success")continue;if((await _.testDestination(!1))?.action!=="success")return}this.#o()}#o(){this.#t.shouldAutoSave()&&this.#t.submit(!0),this.#n.navigate(["source-data"],{relativeTo:this.#i.parent})}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=et({type:o,selectors:[["app-destination"]],viewQuery:function(t,e){t&1&&nt(e.testUrlComponents,bt,5),t&2&&it()},decls:19,vars:9,consts:()=>{let n;n=$localize`${"\uFFFD#14\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#14\uFFFD"}:CLOSE_TAG_SH_ICON: Go back `;let t;t=$localize`${"\uFFFD#17\uFFFD"}:START_TAG_SH_ICON:arrow-right${"\uFFFD/#17\uFFFD"}:CLOSE_TAG_SH_ICON: Continue `;let e;e=$localize`Change destination type`;let i;i=$localize`${"\uFFFD#12\uFFFD"}:START_TAG_SH_ICON:link${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SH_ICON: Edit target URL `;let _;_=$localize`${"\uFFFD#15\uFFFD"}:START_TAG_SH_ICON:copy${"\uFFFD/#15\uFFFD"}:CLOSE_TAG_SH_ICON: Copy URL to clipboard `;let m;m=$localize`${"\uFFFD#18\uFFFD"}:START_TAG_SH_ICON:trash${"\uFFFD/#18\uFFFD"}:CLOSE_TAG_SH_ICON: Remove `;let R;R=$localize`Save as connection string`;let V;V=$localize`Loading destinations...`;let K;K=$localize`Configure a new destination`;let J;J=$localize`Configure a one-off or new storage location.`;let X;X=$localize`Or select a saved destination`;let z;z=$localize`Configure a new destination`;let H;H=$localize`Configure a one-off or new storage location.`;let W;W=$localize`Or select a saved destination`;let j;j=$localize`Select storage type`;let Q;Q=$localize`Be careful, this will overwrite everything you have in your destination.`;let q;q=$localize` Override target URL ${"\uFFFD#15\uFFFD"}:START_TAG_SH_ICON:swap${"\uFFFD/#15\uFFFD"}:CLOSE_TAG_SH_ICON:`;let Y;Y=$localize`Set target URL`;let Z;return Z=$localize`Edit target URL`,[["formRef",""],["testUrl",""],n,t,e,i,_,m,R,V,K,J,X,z,H,W,j,Q,q,Y,Z,["autocomplete","off",3,"submit"],[2,"position","absolute","left","-9999px","width","1px","height","1px","overflow","hidden"],["type","text","name","fake_email","tabindex","-1"],["type","password","name","fake_password","tabindex","-1"],[1,"add-destination-container"],[1,"form-actions"],["shButton","","type","button",3,"click"],["shButton","","type","submit",1,"raised","primary",3,"disabled"],[3,"isOpen","options"],[1,"destination-card","type-c","editing"],[1,"destination-card","type-a",3,"disableToggle","isActive"],[1,"editing-header"],["shButton","","type","button",1,"small",3,"click"],[3,"setDestination"],["title",""],[3,"targetUrl","connectionStringId"],[1,"actions",3,"click"],["shButton","","type","button",1,"small","icon-only"],["menu",""],[1,"options-row",2,"margin","0 1rem 1rem 1rem"],[3,"targetUrlChange","testSignalChange","targetUrl","testSignal","backupId","connectionStringId","sourcePrefix","suppressErrorDialogs","askToCreate","testExpectation","moduleType"],[3,"targetUrlChange","targetUrl","useBackupState"],[3,"checkedChange","color","variant","checked"],["label",""],[1,"loading-list"],[1,"indeterminate","primary"],[1,"text"],["tabindex","0",1,"type-a","actionable","add-new",3,"click","keydown.enter","keydown.space"],["variant","type-a","tabindex","0",1,"actionable",3,"targetUrl"],["variant","type-a","tabindex","0",1,"actionable",3,"click","keydown.enter","keydown.space","targetUrl"],["displayName",""],["description",""],[1,"custom-list-header"],["shButton","","iconOnly","","variant","ghost","type","button",3,"click"],[1,"type-a","actionable","add-new",3,"click"],["variant","type-a",1,"actionable",3,"targetUrl"],["variant","type-a",1,"actionable",3,"click","targetUrl"],["shButton","","type","button",1,"secondary",3,"click"],[3,"isOpenChange","isOpen","options"],["header",""],[1,"target-dialog-header"],[1,"warn"],["content",""],["id","targetUrl","autocomplete","off",3,"ngModelChange","ngModel"],["footer",""],["shButton","","type","submit",1,"raised","primary",3,"click"]]},template:function(t,e){if(t&1&&(at(0)(1),a(2,"form",21,0),C("submit",function(){return e.next()}),a(4,"div",22),h(5,"input",23)(6,"input",24),r(),a(7,"header"),T(8,Jt,2,0),r(),T(9,ae,3,1),T(10,re,5,0,"div",25),a(11,"div",26)(12,"button",27),C("click",function(){return e.goBack()}),f(13,2),h(14,"sh-icon"),O(),r(),a(15,"button",28),f(16,3),h(17,"sh-icon"),O(),r()()(),T(18,le,16,5,"sh-dialog",29)),t&2){let i=k(e.targetUrls());l();let _=k(i.length>0);l(7),p(e.currentEditingIndex()!==null||!e.showCustomList()&&!e.isAddingNew()?8:-1),l(),p((!_||e.showCustomList()||e.isAddingNew())&&e.currentEditingIndex()===null?9:-1),l(),p(_&&!e.showCustomList()&&!e.isAddingNew()?10:-1),l(5),ot("loading",e.isNew()&&e.testStates().length>0&&e.testStates()[0]==="testing"),E("disabled",!_),l(3),p(e.targetUrlDialogOpen()?18:-1)}},dependencies:[vt,$t,Ut,Lt,mt,Tt,ct,dt,Ct,ut,gt,ht,Ot,Dt,St,Et,Nt,It,ft,Pt,xt,At],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:40rem;padding:2.5rem 2.5rem 0}header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], header[_ngcontent-%COMP%] sh-alert[_ngcontent-%COMP%]{width:100%}header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;gap:.5rem}header[_ngcontent-%COMP%] p[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{cursor:pointer;text-decoration:underline}header[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;height:100%;padding:0 0 2.5rem}.current-destination[_ngcontent-%COMP%]{margin:1rem 0 0}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between;padding-bottom:1.5rem}.most-common-destinations[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.most-common-destinations[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border:1px solid var(--base-4);border-radius:var(--shape-3);box-shadow:var(--box-shadow-10);background-color:var(--base-2);cursor:pointer}.most-common-destinations[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font:var(--paragraph-10);margin:0}.target-dialog-header[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:.5rem}.loading-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem;align-items:center;padding:4rem}.loading-list[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{text-align:center}.add-new[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1.5rem;padding:1.5rem;background:var(--base-1);color:var(--primary-8);cursor:pointer}.add-new[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{font-size:2.5rem;opacity:.8}.actionable[_ngcontent-%COMP%]{cursor:pointer}.actionable[_ngcontent-%COMP%]:hover{--card-shp: 0}.custom-list-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.save-connection-string[_ngcontent-%COMP%]{margin:1rem 0}sh-card.destination-card[_ngcontent-%COMP%]{padding:1.5rem}.destination-card[_ngcontent-%COMP%]{position:relative;overflow:visible}.destination-card[_ngcontent-%COMP%] app-destination-list-item[_ngcontent-%COMP%]{width:100%}.destination-card[_ngcontent-%COMP%] .card-header-content[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%}.destination-card[_ngcontent-%COMP%] .card-header-content[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font:var(--title-30);margin:0}.destination-card[_ngcontent-%COMP%] .card-header-content[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{position:static;transform:none}.destination-card[_ngcontent-%COMP%] .editing-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.destination-card[_ngcontent-%COMP%] .editing-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font:var(--paragraph-10);margin:0}.destination-card[_ngcontent-%COMP%] sh-toggle-card[_ngcontent-%COMP%] .header{width:100%}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}"],changeDetection:0})};export{Ae as createDestinationForm,Me as createDestinationFormGroup,B as default};
|
|
1
|
+
import{a as yt,b as Ut,c as $t,l as Lt,p as Rt,q as vt}from"./chunk-DFVPFPMV.js";import"./chunk-5L2OOKRZ.js";import"./chunk-OO32MPRQ.js";import{b as Mt,c as Ft,d as wt}from"./chunk-OBF6ZSYT.js";import"./chunk-6Q6SSTBK.js";import"./chunk-7FDLOZXV.js";import"./chunk-EQNDYV43.js";import"./chunk-35APLYI4.js";import"./chunk-YMUS7QSB.js";import"./chunk-ZXQSQRKN.js";import"./chunk-XZNYCTQB.js";import"./chunk-R6TFME5I.js";import"./chunk-AZRNX5LU.js";import{B as ht,C as It,G as ft,H as Ot,K as Dt,L as Pt,V as xt,W as At,c as ct,e as dt,f as Ct,g as gt,i as ut,j as Tt,r as pt,s as mt,v as St,w as Nt,y as Et}from"./chunk-NCXKMSRH.js";import"./chunk-QAQMMCTH.js";import{b as _t,d as lt}from"./chunk-KHZ5AXGT.js";import"./chunk-L2QOWZDR.js";import"./chunk-BRL4YYWO.js";import"./chunk-BDQJFOCO.js";import"./chunk-FSHBOASN.js";import{$b as s,Ab as M,Bb as F,Bc as rt,Cb as E,Db as a,Eb as r,Fb as h,Jb as b,Kb as G,Mb as N,Rc as $,Sa as l,Tb as f,Ub as O,Vb as S,Zb as C,Zc as st,_ as P,da as c,ea as d,gb as et,gc as nt,ha as tt,hc as it,kc as ot,nc as g,oc as D,pa as I,ra as v,sc as w,tc as y,uc as U,vc as at,wb as T,wc as k,xb as p,xc as x,yb as A}from"./chunk-UH2E7MMT.js";import"./chunk-7CGTOI24.js";var bt=["testUrl"],Gt=()=>({maxWidth:"700px",width:"100%"});function kt(o,n){if(o&1){let t=N();a(0,"sh-card",30)(1,"div",32)(2,"h3"),S(3,4),r(),a(4,"button",33),C("click",function(){c(t);let i=s(3);return d(i.closeCustomList())}),g(5," Cancel "),a(6,"sh-icon"),g(7,"x-bold"),r()()(),a(8,"app-destination-list",34),C("setDestination",function(i){c(t);let _=s(3);return d(_.setDestination(i))}),r()()}}function Bt(o,n){if(o&1){let t=N();a(0,"div",40)(1,"sh-toggle",43),U("checkedChange",function(i){c(t);let _=s(2).$implicit;return y(_.save,i)||(_.save=i),d(i)}),a(2,"span",44),S(3,8),r()()()}if(o&2){let t=s(2).$implicit;l(),E("color","primary")("variant","raised"),w("checked",t.save)}}function Vt(o,n){if(o&1){let t=N();a(0,"sh-toggle-card",31),b(1,35),a(2,"app-destination-list-item",36)(3,"button",33),C("click",function(){c(t);let i=s().$index,_=s(2);return d(_.changeDestination(i))}),g(4,"Change"),r(),a(5,"sh-menu",37),C("click",function(i){return i.stopPropagation()}),a(6,"button",38)(7,"sh-icon"),g(8,"dots-three-vertical"),r()(),b(9,39),a(10,"button",33),C("click",function(){c(t);let i=s().$index,_=s(2);return d(_.openTargetUrlDialog(i))}),f(11,5),h(12,"sh-icon"),O(),r(),a(13,"button",33),C("click",function(){c(t);let i=s().$index,_=s(2);return d(_.copyTargetUrl(i))}),f(14,6),h(15,"sh-icon"),O(),r(),a(16,"button",33),C("click",function(){c(t);let i=s().$index,_=s(2);return d(_.removeDestination(i))}),f(17,7),h(18,"sh-icon"),O(),r(),G(),r()(),G(),T(19,Bt,4,3,"div",40),a(20,"app-test-url",41,1),C("targetUrlChange",function(i){c(t);let _=s().$index,m=s(2);return d(m.updateTargetUrl(_,i))})("testSignalChange",function(i){c(t);let _=s().$index,m=s(2);return d(m.updateTestState(_,i))}),r(),a(22,"app-single-destination",42),C("targetUrlChange",function(i){c(t);let _=s().$index,m=s(2);return d(m.updateTargetUrl(_,i))}),r()()}if(o&2){let t=s(),e=t.$implicit,i=t.$index,_=s(2);E("disableToggle",!0)("isActive",!0),l(2),E("targetUrl",e.url)("connectionStringId",e.connectionStringId),l(17),p(e.connectionStringId?-1:19),l(),E("targetUrl",e.url)("testSignal",_.testStates()[i]||null)("backupId",_.backupId())("connectionStringId",e.connectionStringId)("sourcePrefix",null)("suppressErrorDialogs",!1)("askToCreate",!0)("testExpectation",_.isNew()?"destinationEmpty":"any")("moduleType","Backend"),l(2),E("targetUrl",e.url)("useBackupState",!0)}}function Kt(o,n){if(o&1&&T(0,kt,9,0,"sh-card",30)(1,Vt,23,16,"sh-toggle-card",31),o&2){let t=n.$index,e=s(2);p(e.showCustomList()&&e.currentEditingIndex()===t?0:1)}}function Jt(o,n){if(o&1&&M(0,Kt,2,1,null,null,A),o&2){s();let t=x(0);F(t)}}function Xt(o,n){o&1&&(a(0,"div",45),h(1,"sh-progress-bar",46),a(2,"div",47)(3,"h3"),S(4,9),r()()())}function zt(o,n){o&1&&(a(0,"sh-divider"),S(1,12),r())}function Ht(o,n){if(o&1&&(a(0,"p",52),g(1),r()),o&2){let t=s().$implicit;l(),D(t.Description)}}function Wt(o,n){if(o&1&&(a(0,"p",52),g(1),r()),o&2){let t=s().$implicit,e=s(4);l(),D(e.getSimplePath(t.BaseUrl))}}function jt(o,n){if(o&1){let t=N();a(0,"app-destination-list-item",50),C("click",function(){let i=c(t).$implicit,_=s(4);return d(_.selectSavedDestination(i))})("keydown.enter",function(i){return i.target.click()})("keydown.space",function(i){return i.target.click()}),a(1,"h3",51),g(2),r(),T(3,Ht,2,1,"p",52)(4,Wt,2,1,"p",52),r()}if(o&2){let t=n.$implicit;E("targetUrl",t.BaseUrl),l(2),D(t.Name||t.BaseUrl),l(),p(t.Description?3:4)}}function Qt(o,n){if(o&1){let t=N();a(0,"sh-card",48),C("click",function(){c(t);let i=s(3);return d(i.toggleCustomList())})("keydown.enter",function(i){return i.target.click()})("keydown.space",function(i){return i.target.click()}),a(1,"sh-icon"),g(2,"plus-circle"),r(),a(3,"div",47)(4,"h3"),S(5,10),r(),a(6,"p"),S(7,11),r()()(),T(8,zt,2,0,"sh-divider"),M(9,jt,5,3,"app-destination-list-item",49,A)}if(o&2){let t=s(3);l(8),p(t.destinations().length>0?8:-1),l(),F(t.destinations())}}function qt(o,n){if(o&1&&T(0,Xt,5,0,"div",45)(1,Qt,11,1),o&2){let t=s(2);p(t.isLoadingDestinations()?0:1)}}function Yt(o,n){o&1&&(a(0,"sh-divider"),S(1,15),r())}function Zt(o,n){if(o&1&&(a(0,"p",52),g(1),r()),o&2){let t=s().$implicit;l(),D(t.Description)}}function te(o,n){if(o&1&&(a(0,"p",52),g(1),r()),o&2){let t=s().$implicit,e=s(3);l(),D(e.getSimplePath(t.BaseUrl))}}function ee(o,n){if(o&1){let t=N();a(0,"app-destination-list-item",57),C("click",function(){let i=c(t).$implicit,_=s(3);return d(_.selectSavedDestination(i))}),a(1,"h3",51),g(2),r(),T(3,Zt,2,1,"p",52)(4,te,2,1,"p",52),r()}if(o&2){let t=n.$implicit;E("targetUrl",t.BaseUrl),l(2),D(t.Name||t.BaseUrl),l(),p(t.Description?3:4)}}function ne(o,n){if(o&1){let t=N();a(0,"div",53)(1,"button",54),C("click",function(){c(t);let i=s(2);return d(i.closeCustomList())}),a(2,"sh-icon"),g(3,"arrow-left"),r(),g(4," Back "),r()(),a(5,"sh-card",55),C("click",function(){c(t);let i=s(2);return d(i.toggleCustomList())}),a(6,"sh-icon"),g(7,"plus-circle"),r(),a(8,"div",47)(9,"h3"),S(10,13),r(),a(11,"p"),S(12,14),r()()(),T(13,Yt,2,0,"sh-divider"),M(14,ee,5,3,"app-destination-list-item",56,A)}if(o&2){let t=s(2);l(13),p(t.destinations().length>0?13:-1),l(),F(t.destinations())}}function ie(o,n){if(o&1){let t=N();a(0,"div",53)(1,"button",54),C("click",function(){c(t);let i=s(3);return d(i.closeCustomList())}),a(2,"sh-icon"),g(3,"arrow-left"),r()(),a(4,"h3"),S(5,16),r()()}}function oe(o,n){if(o&1){let t=N();T(0,ie,6,0,"div",53),a(1,"app-destination-list",34),C("setDestination",function(i){c(t);let _=s(2);return d(_.setDestination(i))}),r()}if(o&2){let t=s(2),e=x(0);p(t.destinations().length>0||e.length>0?0:-1)}}function ae(o,n){if(o&1&&T(0,qt,2,1)(1,ne,16,1)(2,oe,2,1),o&2){let t=s(),e=x(1);p(!t.showCustomList()&&!e&&!t.isAddingNew()?0:t.isAddingNew()&&!t.showCustomList()?1:2)}}function re(o,n){if(o&1){let t=N();a(0,"div",25)(1,"button",58),C("click",function(){c(t);let i=s();return d(i.startAddingNew())}),a(2,"sh-icon"),g(3,"plus"),r(),g(4," Add another destination "),r()()}}function se(o,n){o&1&&(a(0,"h2"),S(1,19),r())}function _e(o,n){o&1&&(a(0,"h2"),S(1,20),r())}function le(o,n){if(o&1){let t=N();a(0,"sh-dialog",59),U("isOpenChange",function(i){c(t);let _=s();return y(_.targetUrlDialogOpen,i)||(_.targetUrlDialogOpen=i),d(i)}),a(1,"header",60)(2,"div",61),T(3,se,2,0,"h2")(4,_e,2,0,"h2"),a(5,"sh-alert",62),S(6,17),r()()(),a(7,"div",63)(8,"sh-form-field")(9,"textarea",64),U("ngModelChange",function(i){c(t);let _=s();return y(_.targetUrlCtrl,i)||(_.targetUrlCtrl=i),d(i)}),r()()(),a(10,"footer",65)(11,"button",27),C("click",function(){c(t);let i=s();return d(i.closeTargetUrlDialog(!1))}),g(12,"Cancel"),r(),a(13,"button",66),C("click",function(){c(t);let i=s();return d(i.closeTargetUrlDialog(!0))}),f(14,18),h(15,"sh-icon"),O(),r()()()}if(o&2){let t=s(),e=x(1);w("isOpen",t.targetUrlDialogOpen),E("options",rt(4,Gt)),l(3),p(e?4:3),l(6),w("ngModel",t.targetUrlCtrl)}}var L=new pt,Ae=(o={destinations:[]})=>L.group({destinations:L.array(o.destinations)}),Me=({key:o,customGroup:n,dynamicGroup:t,advancedGroup:e})=>L.group({destinationType:L.control(o),custom:n,dynamic:t,advanced:e}),B=class o{#n=P(lt);#i=P(_t);#t=P(Rt);#e=P(yt);injector=P(tt);testUrlComponents=st("testUrl");testStates=I([]);targetUrls=this.#t.targetUrls;targetUrlModel=$(()=>this.targetUrls()[0]?.url??null);targetUrlCtrl=I(null);targetUrlInitial=I(null);currentEditingIndex=I(null);targetUrlDialogOpen=I(!1);showCustomList=I(!1);isConnectionStringSaved=this.#t.isConnectionStringSaved;destinations=this.#e.destinations;isLoadingDestinations=this.#e.resourceDestinations.isLoading;isNew=this.#t.isNew;backupId=this.#t.backupId;selectedDestinationType=$(()=>{let n=this.targetUrlModel();return n?Ft(n)??null:null});isLoadingDestinationEffect=v(()=>{let n=this.isLoadingDestinations(),t=this.destinations(),e=this.targetUrls();!n&&t.length==0&&e.length==0&&this.toggleCustomList()});selectedDestinationTypeOption=$(()=>{let n=this.selectedDestinationType();return n?{key:n.customKey??n.key,customKey:n.customKey??null,displayName:n.displayName,description:n.description,icon:n.icon}:null});getConnectionString(n){let t=this.#e.destinations().find(e=>e.ID===n);return console.log("connection",t),t}getSimplePath(n){return n?Mt(n):""}copyTargetUrl(n=0){let t=this.targetUrls()[n]?.url;t&&navigator.clipboard.writeText(t)}openTargetUrlDialog(n=0){let t=this.targetUrls()[n]?.url??null;this.targetUrlCtrl.set(t),this.targetUrlInitial.set(t),this.currentEditingIndex.set(n),this.targetUrlDialogOpen.set(!0)}closeTargetUrlDialog(n=!1){this.targetUrlDialogOpen.set(!1);let t=this.targetUrlCtrl(),e=this.targetUrlInitial();if(!n||t===e||!t)return;let i=this.currentEditingIndex();if(i!==null){let _=this.targetUrls()[i]?.connectionStringId??null,m=this.targetUrls()[i]?.urlKey??null;this.#t.updateTargetUrl(i,t,_,m)}else this.#t.setTargetUrl(t);this.currentEditingIndex.set(null)}setDestination(n){let t=wt(n??"");if(!t)return;let e=t.mapper.default?t.mapper.default(this.#t.backupName()??""):`${n}://`;if(this.currentEditingIndex()!==null){this.#t.updateTargetUrl(this.currentEditingIndex(),e,null,null),this.updateTestState(this.currentEditingIndex(),null),this.currentEditingIndex.set(null),this.showCustomList.set(!1);return}this.showCustomList()?(this.#t.addTargetUrl(e,null,null),this.showCustomList.set(!1),this.isAddingNew.set(!1)):(this.#t.addTargetUrl(e,null,null),this.showCustomList.set(!1),this.isAddingNew.set(!1))}targetUrlsEffect=v(()=>{let n=this.targetUrls();this.testStates.update(t=>{if(t.length===n.length)return t;let e=[...t];if(e.length<n.length)for(let i=e.length;i<n.length;i++)e.push(null);else e.length=n.length;return e})});selectSavedDestination(n){n.BaseUrl&&n.BaseUrl&&(this.targetUrls().length===0?this.#t.setTargetUrl(n.BaseUrl,!0,n.ID,null):(this.#t.addTargetUrl(n.BaseUrl,n.ID,null),this.showCustomList.set(!1),this.isAddingNew.set(!1)))}toggleCustomList(){this.currentEditingIndex.set(null),this.showCustomList.set(!0)}isAddingNew=I(!1);startAddingNew(){this.isAddingNew.set(!0),this.destinations().length===0&&this.showCustomList.set(!0)}changeDestination(n){this.currentEditingIndex.set(n),this.showCustomList.set(!0)}closeCustomList(){this.showCustomList.set(!1),this.currentEditingIndex.set(null),this.isAddingNew.set(!1)}removeDestination(n){this.#t.removeTargetUrl(n)}updateTargetUrl(n,t){if(!t)return;let e=this.targetUrls()[n]?.connectionStringId??null,i=this.targetUrls()[n]?.urlKey??null;this.#t.updateTargetUrl(n,t,e,i),this.updateTestState(n,null)}updateTestState(n,t){this.testStates.update(e=>{let i=[...e];return i[n]=t,i})}toggleSave(n){this.#t.toggleSaveConnectionString(n)}goBack(){this.#n.navigate(["general"],{relativeTo:this.#i.parent})}async next(){if(!this.#t.isNew()){this.#o();return}let t=this.testUrlComponents(),e=this.testStates();for(let i=0;i<t.length;i++){let _=t[i],m=this.testStates()[i];if(m&&typeof m!="string"&&m.action==="success")continue;if((await _.testDestination(!1))?.action!=="success")return}this.#o()}#o(){this.#t.shouldAutoSave()&&this.#t.submit(!0),this.#n.navigate(["source-data"],{relativeTo:this.#i.parent})}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=et({type:o,selectors:[["app-destination"]],viewQuery:function(t,e){t&1&&nt(e.testUrlComponents,bt,5),t&2&&it()},decls:19,vars:9,consts:()=>{let n;n=$localize`${"\uFFFD#14\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#14\uFFFD"}:CLOSE_TAG_SH_ICON: Go back `;let t;t=$localize`${"\uFFFD#17\uFFFD"}:START_TAG_SH_ICON:arrow-right${"\uFFFD/#17\uFFFD"}:CLOSE_TAG_SH_ICON: Continue `;let e;e=$localize`Change destination type`;let i;i=$localize`${"\uFFFD#12\uFFFD"}:START_TAG_SH_ICON:link${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SH_ICON: Edit target URL `;let _;_=$localize`${"\uFFFD#15\uFFFD"}:START_TAG_SH_ICON:copy${"\uFFFD/#15\uFFFD"}:CLOSE_TAG_SH_ICON: Copy URL to clipboard `;let m;m=$localize`${"\uFFFD#18\uFFFD"}:START_TAG_SH_ICON:trash${"\uFFFD/#18\uFFFD"}:CLOSE_TAG_SH_ICON: Remove `;let R;R=$localize`Save as connection string`;let V;V=$localize`Loading destinations...`;let K;K=$localize`Configure a new destination`;let J;J=$localize`Configure a one-off or new storage location.`;let X;X=$localize`Or select a saved destination`;let z;z=$localize`Configure a new destination`;let H;H=$localize`Configure a one-off or new storage location.`;let W;W=$localize`Or select a saved destination`;let j;j=$localize`Select storage type`;let Q;Q=$localize`Be careful, this will overwrite everything you have in your destination.`;let q;q=$localize` Override target URL ${"\uFFFD#15\uFFFD"}:START_TAG_SH_ICON:swap${"\uFFFD/#15\uFFFD"}:CLOSE_TAG_SH_ICON:`;let Y;Y=$localize`Set target URL`;let Z;return Z=$localize`Edit target URL`,[["formRef",""],["testUrl",""],n,t,e,i,_,m,R,V,K,J,X,z,H,W,j,Q,q,Y,Z,["autocomplete","off",3,"submit"],[2,"position","absolute","left","-9999px","width","1px","height","1px","overflow","hidden"],["type","text","name","fake_email","tabindex","-1"],["type","password","name","fake_password","tabindex","-1"],[1,"add-destination-container"],[1,"form-actions"],["shButton","","type","button",3,"click"],["shButton","","type","submit",1,"raised","primary",3,"disabled"],[3,"isOpen","options"],[1,"destination-card","type-c","editing"],[1,"destination-card","type-a",3,"disableToggle","isActive"],[1,"editing-header"],["shButton","","type","button",1,"small",3,"click"],[3,"setDestination"],["title",""],[3,"targetUrl","connectionStringId"],[1,"actions",3,"click"],["shButton","","type","button",1,"small","icon-only"],["menu",""],[1,"options-row",2,"margin","0 1rem 1rem 1rem"],[3,"targetUrlChange","testSignalChange","targetUrl","testSignal","backupId","connectionStringId","sourcePrefix","suppressErrorDialogs","askToCreate","testExpectation","moduleType"],[3,"targetUrlChange","targetUrl","useBackupState"],[3,"checkedChange","color","variant","checked"],["label",""],[1,"loading-list"],[1,"indeterminate","primary"],[1,"text"],["tabindex","0",1,"type-a","actionable","add-new",3,"click","keydown.enter","keydown.space"],["variant","type-a","tabindex","0",1,"actionable",3,"targetUrl"],["variant","type-a","tabindex","0",1,"actionable",3,"click","keydown.enter","keydown.space","targetUrl"],["displayName",""],["description",""],[1,"custom-list-header"],["shButton","","iconOnly","","variant","ghost","type","button",3,"click"],[1,"type-a","actionable","add-new",3,"click"],["variant","type-a",1,"actionable",3,"targetUrl"],["variant","type-a",1,"actionable",3,"click","targetUrl"],["shButton","","type","button",1,"secondary",3,"click"],[3,"isOpenChange","isOpen","options"],["header",""],[1,"target-dialog-header"],[1,"warn"],["content",""],["id","targetUrl","autocomplete","off",3,"ngModelChange","ngModel"],["footer",""],["shButton","","type","submit",1,"raised","primary",3,"click"]]},template:function(t,e){if(t&1&&(at(0)(1),a(2,"form",21,0),C("submit",function(){return e.next()}),a(4,"div",22),h(5,"input",23)(6,"input",24),r(),a(7,"header"),T(8,Jt,2,0),r(),T(9,ae,3,1),T(10,re,5,0,"div",25),a(11,"div",26)(12,"button",27),C("click",function(){return e.goBack()}),f(13,2),h(14,"sh-icon"),O(),r(),a(15,"button",28),f(16,3),h(17,"sh-icon"),O(),r()()(),T(18,le,16,5,"sh-dialog",29)),t&2){let i=k(e.targetUrls());l();let _=k(i.length>0);l(7),p(e.currentEditingIndex()!==null||!e.showCustomList()&&!e.isAddingNew()?8:-1),l(),p((!_||e.showCustomList()||e.isAddingNew())&&e.currentEditingIndex()===null?9:-1),l(),p(_&&!e.showCustomList()&&!e.isAddingNew()?10:-1),l(5),ot("loading",e.isNew()&&e.testStates().length>0&&e.testStates()[0]==="testing"),E("disabled",!_),l(3),p(e.targetUrlDialogOpen()?18:-1)}},dependencies:[vt,$t,Ut,Lt,mt,Tt,ct,dt,Ct,ut,gt,ht,Ot,Dt,St,Et,Nt,It,ft,Pt,xt,At],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:40rem;padding:2.5rem 2.5rem 0}header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], header[_ngcontent-%COMP%] sh-alert[_ngcontent-%COMP%]{width:100%}header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;gap:.5rem}header[_ngcontent-%COMP%] p[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{cursor:pointer;text-decoration:underline}header[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;height:100%;padding:0 0 2.5rem}.current-destination[_ngcontent-%COMP%]{margin:1rem 0 0}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between;padding-bottom:1.5rem}.most-common-destinations[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.most-common-destinations[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border:1px solid var(--base-4);border-radius:var(--shape-3);box-shadow:var(--box-shadow-10);background-color:var(--base-2);cursor:pointer}.most-common-destinations[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font:var(--paragraph-10);margin:0}.target-dialog-header[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:.5rem}.loading-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem;align-items:center;padding:4rem}.loading-list[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{text-align:center}.add-new[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1.5rem;padding:1.5rem;background:var(--base-1);color:var(--primary-8);cursor:pointer}.add-new[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{font-size:2.5rem;opacity:.8}.actionable[_ngcontent-%COMP%]{cursor:pointer}.actionable[_ngcontent-%COMP%]:hover{--card-shp: 0}.custom-list-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.save-connection-string[_ngcontent-%COMP%]{margin:1rem 0}sh-card.destination-card[_ngcontent-%COMP%]{padding:1.5rem}.destination-card[_ngcontent-%COMP%]{position:relative;overflow:visible}.destination-card[_ngcontent-%COMP%] app-destination-list-item[_ngcontent-%COMP%]{width:100%}.destination-card[_ngcontent-%COMP%] .card-header-content[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%}.destination-card[_ngcontent-%COMP%] .card-header-content[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font:var(--title-30);margin:0}.destination-card[_ngcontent-%COMP%] .card-header-content[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{position:static;transform:none}.destination-card[_ngcontent-%COMP%] .editing-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.destination-card[_ngcontent-%COMP%] .editing-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font:var(--paragraph-10);margin:0}.destination-card[_ngcontent-%COMP%] sh-toggle-card[_ngcontent-%COMP%] .header{width:100%}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}"],changeDetection:0})};export{Ae as createDestinationForm,Me as createDestinationFormGroup,B as default};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{a as Ee}from"./chunk-TZEOQBIX.js";import{a as Ne}from"./chunk-
|
|
1
|
+
import{a as Ee}from"./chunk-TZEOQBIX.js";import{a as Ne}from"./chunk-ZK3S23CJ.js";import"./chunk-GO22QPW4.js";import"./chunk-FMDSOHVR.js";import"./chunk-NBKLLQQO.js";import{k as Te,p as A}from"./chunk-DFVPFPMV.js";import"./chunk-5L2OOKRZ.js";import"./chunk-OO32MPRQ.js";import"./chunk-OBF6ZSYT.js";import{b as he}from"./chunk-I625OICV.js";import"./chunk-XCVBN7EK.js";import"./chunk-ADB5QRUO.js";import"./chunk-22PELS6R.js";import"./chunk-6Q6SSTBK.js";import"./chunk-MRSBKQQM.js";import"./chunk-7FDLOZXV.js";import"./chunk-EQNDYV43.js";import"./chunk-35APLYI4.js";import"./chunk-LU7TIW3P.js";import"./chunk-YMUS7QSB.js";import{b as D}from"./chunk-ZXQSQRKN.js";import"./chunk-XZNYCTQB.js";import"./chunk-R6TFME5I.js";import"./chunk-AZRNX5LU.js";import{B as ue,G as de,H as _e,L as pe,P as Ce,Y as ge,c as Z,e as ee,f as te,j as ne,n as oe,o as ie,p as ae,q as se,r as re,s as le,t as ce,v as me}from"./chunk-NCXKMSRH.js";import{b as Fe,d as Se}from"./chunk-QAQMMCTH.js";import{b as W,d as Q,e as Y}from"./chunk-KHZ5AXGT.js";import"./chunk-L2QOWZDR.js";import"./chunk-BRL4YYWO.js";import"./chunk-BDQJFOCO.js";import"./chunk-FSHBOASN.js";import{$b as N,Ab as y,Ac as z,Bb as U,Bc as j,Cb as F,Db as l,Eb as o,Fb as a,Jb as I,Kb as M,Mb as v,Sa as u,Tb as p,Ub as C,V as b,Vb as O,Wb as x,Xb as w,Zb as K,_,da as E,ea as f,gb as R,kc as J,pa as L,ra as $,sc as X,tc as q,uc as V,wb as k,xb as G,yb as B,zc as H}from"./chunk-UH2E7MMT.js";import"./chunk-7CGTOI24.js";var T=class s{#e=new Map;saveState(t){let e=crypto.randomUUID();return this.#e.set(e,t),e}getState(t){return this.#e.get(t)}static \u0275fac=function(e){return new(e||s)};static \u0275prov=b({token:s,factory:s.\u0275fac,providedIn:"root"})};var Ie=()=>["backup"];function Me(s,t){s&1&&a(0,"sh-progress-bar",11)}function Oe(s,t){if(s&1&&(l(0,"sh-form-field"),a(1,"input",35),o()),s&2){let e=t.$implicit,n=t.$index;u(),F("id",H("filter-",n))("formControl",e)}}function De(s,t){if(s&1){let e=v();l(0,"form",12)(1,"sh-select",13)(2,"label",14),p(3,1),a(4,"sh-icon",15),C(),o(),a(5,"input",16),o(),l(6,"sh-form-field")(7,"label",17),p(8,2),a(9,"sh-icon",18),C(),o(),a(10,"textarea",19),o(),l(11,"sh-form-field")(12,"label",20),p(13,3),a(14,"sh-icon",21),C(),o(),a(15,"textarea",22),o()(),l(16,"sh-divider"),O(17,4),o(),l(18,"form",12)(19,"sh-form-field")(20,"label",23),p(21,5),a(22,"sh-icon",24),C(),o(),a(23,"input",25),o(),l(24,"sh-form-field")(25,"label",26),p(26,6),a(27,"sh-icon",27),C(),o(),a(28,"input",28),o(),l(29,"app-toggle-card",29),I(30,30),O(31,7),M(),I(32,31),y(33,Oe,2,3,"sh-form-field",null,B),M(),o()(),l(35,"app-options-list",32),V("optionsChange",function(r){E(e);let m=N();return q(m.settings,r)||(m.settings=r),f(r)}),o(),l(36,"div",33)(37,"button",34),K("click",function(){E(e);let r=N();return f(r.submit())}),p(38,8),a(39,"sh-icon"),C(),o()()}if(s&2){let e=N();F("formGroup",e.baseCmdForm),u(),F("options",e.commandOptions()??j(10,Ie))("inlineSearch",!0),u(17),F("formGroup",e.standardFields),u(11),F("disableToggle",!0),u(4),U(e.standardFields.controls.filters.controls),u(2),X("options",e.settings),F("hasFreeTextSettings",!0),u(2),J("loading",e.isSubmitting()),u(2),x(e.baseCmdForm.value.command),w(38)}}var c=new re,P=class s{#e=_(A);#n=_(Se);#o=_(Q);#t=_(W);#a=_(Fe);#s=_(he);#i=_(T);#r=D(this.#t.params);commandOptions=D(this.#a.getApiV1Commandline());isSubmitting=L(!1);optionsFields=this.#e.optionsFields;standardFields=c.group({"backup-id":c.control(""),"backup-name":c.control(""),dbpath:c.control(""),filters:c.array([])});baseCmdForm=c.group({command:c.control("backup"),targetUrl:c.control(""),arguments:c.control("")});finishedLoading=this.#e.finishedLoading;backupId=this.#e.backupId;settings=this.#e.settings;#c=$(()=>{let t=this.#r()?.id;this.#e.backupId.set(t),this.getBackup(t)});getBackup(t){this.#n.getApiV1BackupById({id:t}).subscribe({next:e=>{this.#e.mapScheduleToForm(e.Schedule??null),e.Backup&&(this.#e.mapGeneralToForm(e.Backup),this.mapStandardFieldsToForm(e.Backup),this.mapBaseCmdToForm(e.Backup),this.#e.mapOptionsToForms(e.Backup,!0)),this.applyStateFromUrl(),this.#e.finishedLoading.set(!0)}})}mapStandardFieldsToForm(t){this.standardFields.patchValue({dbpath:t.DBPath,"backup-id":t.ID,"backup-name":t.Name}),t.Filters&&t.Filters.length&&t.Filters.map(e=>{this.standardFields.controls.filters.push(c.control(`${e.Include?"":"-"}${e.Expression}`))})}submit(){this.#s.resumeDialogCheck(()=>this.#l())}#l(){this.isSubmitting.set(!0);let t=this.updateUrl(),e=this.baseCmdForm.value,n=e.targetUrl??"",r=(e.arguments??"").split(`
|
|
2
2
|
`)??[],m=[n,...r].filter(i=>i.length>0),g=this.standardFields.value,S=g.filters??[],h=[e.command,...m,`--backup-name=${g["backup-name"]}`,`--dbpath=${g.dbpath}`,`--backup-id=${g["backup-id"]}`,...S.filter(i=>i).map(i=>i.startsWith("-")?`--exclude=${i?.slice(1)}`:`--include=${i}`),...this.#e.mapFormsToSettings(["backup-id","backup-name","dbpath"]).map(i=>`${i.Name.startsWith("--")?"":"--"}${i.Name}=${i.Value}`),"--disable-module=console-password-input"];this.#n.postApiV1Commandline({requestBody:h}).subscribe({next:i=>{i.Status==="OK"&&this.#o.navigate(["backup",this.backupId(),"commandline",i.ID],{queryParams:{state:t}})},error:()=>{this.isSubmitting.set(!1)}})}mapBaseCmdToForm(t){let e=t.TargetURL??null;e&&this.baseCmdForm.patchValue({targetUrl:e??"",arguments:t.Sources?.join(`
|
|
3
3
|
`)??""})}updateUrl(){let t=this.baseCmdForm.value,e=this.standardFields.value,n=e.filters??[],r=this.settings(),m=this.#i.saveState({command:t.command,targetUrl:t.targetUrl,arguments:t.arguments,backupId:e["backup-id"],backupName:e["backup-name"],dbpath:e.dbpath,filters:n,options:r});return this.#o.navigate([],{relativeTo:this.#t,queryParams:{state:m},replaceUrl:!0}),m}applyStateFromUrl(){let e=this.#t.snapshot.queryParams.state;if(!e)return;let n=this.#i.getState(e);n&&(this.baseCmdForm.patchValue({command:n.command,targetUrl:n.targetUrl,arguments:n.arguments}),this.standardFields.patchValue({"backup-id":n.backupId,"backup-name":n.backupName,dbpath:n.dbpath}),n.filters&&(this.standardFields.controls.filters.clear(),n.filters.forEach(r=>{this.standardFields.controls.filters.push(c.control(r))})),n.options&&n.options.length>0&&this.settings.set(n.options))}static \u0275fac=function(e){return new(e||s)};static \u0275cmp=R({type:s,selectors:[["app-commandline"]],features:[z([A])],decls:8,vars:1,consts:()=>{let t;t=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SH_ICON: Back `;let e;e=$localize` Command ${"\uFFFD#4\uFFFD"}:START_TAG_SH_ICON:question${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_SH_ICON:`;let n;n=$localize` TargetUrl ${"\uFFFD#9\uFFFD"}:START_TAG_SH_ICON:question${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SH_ICON:`;let r;r=$localize` Commandline Arguments ${"\uFFFD#14\uFFFD"}:START_TAG_SH_ICON:question${"\uFFFD/#14\uFFFD"}:CLOSE_TAG_SH_ICON:`;let m;m=$localize`Advanced options`;let g;g=$localize` Backup ID ${"\uFFFD#22\uFFFD"}:START_TAG_SH_ICON:question${"\uFFFD/#22\uFFFD"}:CLOSE_TAG_SH_ICON:`;let S;S=$localize` Backup Name ${"\uFFFD#27\uFFFD"}:START_TAG_SH_ICON:question${"\uFFFD/#27\uFFFD"}:CLOSE_TAG_SH_ICON:`;let h;h=$localize`Filters`;let i;return i=$localize`${"\uFFFD#39\uFFFD"}:START_TAG_SH_ICON:arrow-right${"\uFFFD/#39\uFFFD"}:CLOSE_TAG_SH_ICON: Run "${"\uFFFD0\uFFFD"}:INTERPOLATION:" command now `,[t,e,n,r,m,g,S,h,i,[1,"back"],["type","button","shButton","","routerLink","/",1,"small"],[1,"indeterminate","primary"],[3,"formGroup"],["placeholder","Select a command...",3,"options","inlineSearch"],["for","command"],["shTooltip","Choose the command to execute"],["type","text","id","command","formControlName","command"],["for","targetUrl"],["shTooltip","Enter the URL of the backup target"],["id","targetUrl","autocomplete","off","formControlName","targetUrl"],["for","arguments"],["shTooltip","Enter one argument per line without quotes (e.g., *.txt)"],["id","arguments","autocomplete","off","rows","5","formControlName","arguments","placeholder","Enter one argument per line without quotes (e.g., *.txt)",1,"arguments"],["for","backup-id"],["shTooltip","The ID of the backup configuration this run belongs to (can be empty)"],["id","backup-id","formControlName","backup-id"],["for","backup-name"],["shTooltip","The optional name of the backup"],["id","backup-name","formControlName","backup-name"],[3,"disableToggle"],["title",""],["content","","formGroupName","filters"],[3,"optionsChange","options","hasFreeTextSettings"],[1,"form-actions"],["shButton","",1,"raised","primary",3,"click"],[3,"id","formControl"]]},template:function(e,n){e&1&&(a(0,"app-status-bar"),l(1,"section")(2,"div",9)(3,"button",10),p(4,0),a(5,"sh-icon"),C(),o()(),k(6,Me,1,0,"sh-progress-bar",11)(7,De,40,11),o()),e&2&&(u(6),G(n.finishedLoading()?7:6))},dependencies:[le,ne,Z,ee,te,Ne,Ee,Te,ce,oe,se,ae,ie,Y,_e,ue,de,Ce,pe,me,ge],styles:["[_nghost-%COMP%]{display:block}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;max-width:40rem;padding:2.5rem;gap:1.25rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end}.row-inputs[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.row-inputs[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1 0}.arguments[_ngcontent-%COMP%]{min-height:6rem;white-space:pre}"],changeDetection:0})};export{P as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as q}from"./chunk-
|
|
1
|
+
import{b as q}from"./chunk-I625OICV.js";import{a as j}from"./chunk-XCVBN7EK.js";import{a as Q}from"./chunk-ADB5QRUO.js";import{a as H}from"./chunk-MRSBKQQM.js";import{B as V,L as z,O as J,Y as X,v as U}from"./chunk-NCXKMSRH.js";import{ha as K}from"./chunk-BDQJFOCO.js";import{$b as r,Ac as y,Cb as d,Db as a,Eb as s,Fb as g,Gc as F,Hc as $,Ic as G,Kc as L,Mb as N,Rc as _,Sa as o,Tb as T,Ub as P,Vb as b,Wb as R,Xb as v,Xc as w,Zb as B,_ as C,da as x,ea as h,gb as O,ic as M,jc as D,kc as I,lb as k,nc as l,oc as A,pa as S,pc as m,ra as E,wb as p,xb as c}from"./chunk-UH2E7MMT.js";function Y(e,i){if(e&1&&l(0),e&2){let t=r(3);m(" ",t.statusData().actionText," - ")}}function Z(e,i){e&1&&(a(0,"sh-icon"),l(1,"check"),s())}function tt(e,i){e&1&&(a(0,"sh-icon"),l(1,"copy"),s())}function et(e,i){if(e&1){let t=N();a(0,"div",9)(1,"button",10),B("click",function(u){x(t);let f=r(4);return h(f.copyToClipboard(u,f.tooltipText()))}),p(2,Z,2,0,"sh-icon")(3,tt,2,0,"sh-icon"),l(4," Copy "),s(),a(5,"p",11),l(6),s()()}if(e&2){let t=r(4);o(),d("color",t.copied()?"success":null),o(),c(t.copied()===!0?2:3),o(4),A(t.tooltipText())}}function it(e,i){if(e&1&&(a(0,"div",8),l(1),s(),k(2,et,7,3,"ng-template",null,0,L)),e&2){let t=M(3),n=r(3);d("shTooltip",t),o(),m(" ",n.statusData().fileStatusText," ")}}function nt(e,i){if(e&1&&(a(0,"div"),p(1,Y,1,1),l(2),s(),p(3,it,4,2),g(4,"sh-progress-bar",7)),e&2){let t,n=r(2);o(),c(n.backupId()===null?1:-1),o(),m(" ",n.statusData().statusText," "),o(),c((t=n.statusData())!=null&&t.BackendFileSize?3:-1),o(),d("value",n.statusData().progress*100)}}function ot(e,i){if(e&1&&(a(0,"div",5),T(1,1),g(2,"sh-icon"),F(3,"relativeTime"),F(4,"date"),P(),s()),e&2){let t,n=r(2);o(4),R((t=n.nextBackup().backup)==null||t.Backup==null?null:t.Backup.Name)($(3,3,n.nextBackup().time))(G(4,5,n.nextBackup().time,"shortTime")),v(1)}}function at(e,i){e&1&&(a(0,"div",5),b(1,2),s())}function st(e,i){e&1&&(a(0,"div",6),T(1,3),g(2,"sh-spinner"),P(),s()),e&2&&(o(2),D("--spinner-size","12px")("--spinner-thickness","2px"))}function rt(e,i){if(e&1&&(a(0,"div",4),p(1,nt,5,4)(2,ot,5,8,"div",5)(3,at,2,0,"div",5)(4,st,3,4,"div",6),s()),e&2){let t,n=r();o(),c(n.isActive()?1:!n.backupId()&&(n.nextBackup().backup||n.nextBackup().time)?2:!n.backupId()&&!((t=n.serverState())!=null&&t.ActiveTask)?3:n.backupId()?-1:4)}}var W=class e{backupId=w(null);#t=C(q);#e=C(j);statusData=this.#t.statusData;serverState=this.#t.serverState;isActive=_(()=>this.#t.runningBackupId()!==null);isTargetRunningTask=_(()=>{let i=this.backupId();return i?String(this.#t.runningBackupId())===String(i):!0});isVisible=_(()=>this.backupId()?this.isActive()?this.isTargetRunningTask():!1:!0);nextBackup=_(()=>{let i=this.#e.backups();return{backup:this.serverState()?.ProposedSchedule?.[0]?.backup,time:this.serverState()?.ProposedSchedule?.[0]?.Item2}});tooltipText=_(()=>{let i=this.statusData();return i?.CurrentFilename?`${i.CurrentFilename}`:""});copied=S(!1);copiedTimeout;copyToClipboard(i,t){i.stopPropagation(),navigator.clipboard.writeText(t),this.copied.set(!0),this.copiedTimeout=setTimeout(()=>{this.copied.set(!1)},2e3)}tooltipTrigger=S(!0);tooltipTriggerEffect=E(()=>{this.tooltipText(),this.tooltipTrigger.update(i=>!i),this.copiedTimeout&&(clearTimeout(this.copiedTimeout),this.copiedTimeout=void 0,this.copied.set(!1))});static \u0275fac=function(t){return new(t||e)};static \u0275cmp=O({type:e,selectors:[["app-backup-progress"]],hostVars:2,hostBindings:function(t,n){t&2&&I("is-visible",n.isVisible())},inputs:{backupId:[1,"backupId"]},features:[y([H])],decls:1,vars:1,consts:()=>{let i;i=$localize` ${"\uFFFD0\uFFFD"}:INTERPOLATION: - ${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:clock${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: ${"\uFFFD1\uFFFD"}:INTERPOLATION_1: at ${"\uFFFD2\uFFFD"}:INTERPOLATION_2: `;let t;t=$localize`No scheduled tasks`;let n;return n=$localize` Loading ${"\uFFFD#2\uFFFD"}:START_TAG_SH_SPINNER:${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_SPINNER:`,[["fileStatusTooltip",""],i,t,n,[1,"progress-section"],[1,"label"],[1,"label","label-loading"],[1,"raised","primary",3,"value"],[1,"file-status-text",3,"shTooltip"],[1,"tooltip-status-content"],["shButton","","size","small",3,"click","color"],[1,"tooltip-file-status-text"]]},template:function(t,n){t&1&&p(0,rt,5,1,"div",4),t&2&&c(n.isVisible()?0:-1)},dependencies:[U,V,J,z,X,Q,K],styles:["[_nghost-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%;gap:.5rem}[_nghost-%COMP%]:not(.is-visible){display:none}.file-status-text[_ngcontent-%COMP%]{color:var(--base-8)}.file-status-text[_ngcontent-%COMP%]:empty{display:none}.tooltip-file-status-text[_ngcontent-%COMP%]{overflow-wrap:break-word;word-break:break-word;display:inline-block;margin-bottom:.25rem}.tooltip-status-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.progress-section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:0;min-width:18.75rem;flex:1 0}.progress-section[_ngcontent-%COMP%] sh-progress-bar[_ngcontent-%COMP%]{margin-top:.25rem}app-status-bar[_nghost-%COMP%] sh-progress-bar[_ngcontent-%COMP%], app-status-bar [_nghost-%COMP%] sh-progress-bar[_ngcontent-%COMP%]{position:absolute;bottom:0;left:0;right:0;width:100%;max-width:initial;margin-top:0}.label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.label-loading[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem}"],changeDetection:0})};export{W as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as Z}from"./chunk-7FDLOZXV.js";import{a as Q}from"./chunk-EQNDYV43.js";import"./chunk-35APLYI4.js";import{a as Y}from"./chunk-YMUS7QSB.js";import"./chunk-ZXQSQRKN.js";import"./chunk-XZNYCTQB.js";import"./chunk-R6TFME5I.js";import"./chunk-AZRNX5LU.js";import{B as K,C as j,H,L as q,c as G,e as W,i as V,s as J,v as X,w as z}from"./chunk-NCXKMSRH.js";import"./chunk-QAQMMCTH.js";import{d as B,e as U}from"./chunk-KHZ5AXGT.js";import"./chunk-L2QOWZDR.js";import"./chunk-BRL4YYWO.js";import"./chunk-BDQJFOCO.js";import"./chunk-FSHBOASN.js";import{$b as a,Cb as x,Db as r,Eb as l,Fb as T,Fc as A,Mb as h,Qc as R,Rc as O,Sa as s,Tb as S,Ub as P,Vb as p,Xc as I,Yb as k,Zb as E,_ as f,da as m,ea as F,gb as D,ja as b,mc as w,nc as d,pa as N,ra as y,sc as L,tc as $,uc as v,wb as c,xb as _}from"./chunk-UH2E7MMT.js";import"./chunk-7CGTOI24.js";var ee=(n,t,e,i,o)=>({"loading-state":n,"ready-to-add-link":t,"is-connected":e,"failed-to-connect":i,"is-registered":o});function te(n,t){n&1&&p(0,0,1)}function ne(n,t){n&1&&p(0,0,2)}function ie(n,t){if(n&1){let e=h();r(0,"button",10),E("click",function(){m(e);let o=a(2);return F(o.cancel())}),d(1,"Cancel registration"),l()}}function oe(n,t){if(n&1&&(r(0,"div",7)(1,"p"),S(2,0),c(3,te,1,0)(4,ne,1,0),P(),l(),T(5,"sh-progress-bar",8),c(6,ie,2,0,"button",9),l()),n&2){let e=a();s(3),_(e.state()==="unknown"?3:4),s(3),_((e.registeringCounter()??0)>=5&&e.state()==="registering"?6:-1)}}function re(n,t){if(n&1){let e=h();r(0,"sh-form-field")(1,"label",11),p(2,1),l(),r(3,"input",12),v("ngModelChange",function(o){m(e);let C=a();return $(C.customRegisterUrl,o)||(C.customRegisterUrl=o),F(o)}),l()(),r(4,"div",13)(5,"button",14),d(6,"Go back"),l(),r(7,"button",15),E("click",function(){m(e);let o=a();return F(o.registerViaCustomUrl())}),p(8,2),l()()}if(n&2){let e=a();s(3),L("ngModel",e.customRegisterUrl),s(4),x("disabled",!e.customRegisterUrlValid())}}function le(n,t){if(n&1){let e=h();r(0,"p"),p(1,3),l(),T(2,"sh-progress-bar",8),r(3,"button",10),E("click",function(){m(e);let o=a(2);return F(o.retryWhenFaulted())}),d(4,"Cancel"),l()}}function se(n,t){if(n&1){let e=h();r(0,"p"),p(1,4),l(),r(2,"button",10),E("click",function(){m(e);let o=a(2);return F(o.retryWhenFaulted())}),d(3,"Retry"),l()}}function ae(n,t){if(n&1&&c(0,le,5,0)(1,se,4,0),n&2){let e=a();_(e.claimUrl()!==null?0:1)}}function ce(n,t){n&1&&(S(0,5,1),T(1,"p"),P())}function _e(n,t){n&1&&(S(0,5,2),T(1,"p"),P())}function de(n,t){if(n&1){let e=h();r(0,"sh-alert",16),S(1,5),c(2,ce,2,0,"p")(3,_e,2,0,"p"),P(),l(),r(4,"button",10),E("click",function(){m(e);let o=a();return F(o.retryWhenFaulted())}),d(5," Retry "),r(6,"sh-icon"),d(7,"arrow-arc-left"),l()()}if(n&2){let e=a();s(2),_(e.typeParam()==="link"?2:3)}}function Ce(n,t){n&1&&(r(0,"h3"),d(1,"Successfully connected"),l(),r(2,"p"),d(3,"We're going to redirect you to the home page"),l())}var M=class n{#n=f(B);#l=f(Q);#e=f(Z);#i=f(Y);isOldOpen=N(!1);typeParam=I.required();state=this.#e.state;claimUrl=this.#e.claimUrl;registerUrl=this.#e.registerUrl;customRegisterUrl=this.#e.customRegisterUrl;additionalReportingUrl=O(()=>{let t=this.#i.serverSettings();return this.#e.state()==="inactive"?"":t&&t["additional-report-url"]||""});copiedReportingUrl=N(!1);customRegisterUrlValid=O(()=>{let t=this.customRegisterUrl(),e=/^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$/;return!(t.length===0||!e.test(t))});registeringCounter=N(null);didTry=!1;triedFinishConnection=!1;#t=null;#s=f(b);constructor(){this.#s.onDestroy(()=>{this.#r()})}stateEffect=y(()=>{let t=this.#e.registerUrl(),e=this.state(),i=this.typeParam();e==="inactive"&&i==="logon"&&t!==""&&(this.didTry||(this.didTry=!0,queueMicrotask(()=>this.#e.beginRemoteRegistration()))),e==="registered"&&(this.triedFinishConnection||R(()=>this.claimUrl())!==null&&(this.triedFinishConnection=!0,this.#a())),e==="registering"?R(()=>{this.registeringCounter()===null&&this.registeringCounter.set(0),this.#o()}):(this.#r(),R(()=>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()}#a(){let t=this.#e.claimUrl();this.#l.open(`${t}?closeAfterConnection=true`,"_blank")}registerViaCustomUrl(){this.#e.beginRemoteRegistration(!0)}retryWhenFaulted(){this.#e.cancelRemoteRegistration(),this.customRegisterUrl.set(""),this.didTry=!1,this.triedFinishConnection=!1,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(!0),setTimeout(()=>this.copiedReportingUrl.set(!1),2e3),navigator.clipboard.writeText(t))}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=D({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 u;return u=$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:`,u=k(u),[t,e,i,o,C,u,[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&&(r(0,"sh-card",6),c(1,oe,7,2,"div",7),c(2,re,9,2),c(3,ae,2,1),c(4,de,8,1),c(5,Ce,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",u=i.state()==="connected"||i.state()==="disabled"||i.state()==="connecting",g=i.state()==="registeringfaulted";w(A(7,ee,o,C,u,g,i.state()==="registered")),s(),_(o?1:-1),s(),_(C?2:-1),s(),_(i.state()==="registered"?3:-1),s(),_(g?4:-1),s(),_(u?5:-1)}},dependencies:[U,J,G,W,V,H,K,q,j,z,X],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}"],changeDetection:0})};export{M as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as fe}from"./chunk-M5RTYP7N.js";import"./chunk-HHDCI6IF.js";import{a as Ce}from"./chunk-GO22QPW4.js";import{a as pe,b as z}from"./chunk-Y4EMWRGE.js";import"./chunk-XCVBN7EK.js";import{a as ue}from"./chunk-ADB5QRUO.js";import"./chunk-22PELS6R.js";import"./chunk-6Q6SSTBK.js";import{a as me}from"./chunk-MRSBKQQM.js";import"./chunk-35APLYI4.js";import"./chunk-LU7TIW3P.js";import{b as ge}from"./chunk-XZNYCTQB.js";import"./chunk-R6TFME5I.js";import"./chunk-AZRNX5LU.js";import{B as se,C as le,J as ce,L as de,v as oe,z as re}from"./chunk-NCXKMSRH.js";import{d as _e}from"./chunk-QAQMMCTH.js";import"./chunk-KHZ5AXGT.js";import"./chunk-L2QOWZDR.js";import"./chunk-BRL4YYWO.js";import{T as ee,U as te,ha as ne,ma as ie,qa as ae}from"./chunk-BDQJFOCO.js";import"./chunk-FSHBOASN.js";import{$b as g,Ab as K,Bb as Q,Cb as p,Db as e,Eb as t,Fb as I,Gc as _,Hc as C,Ic as E,Jb as Y,Kb as Z,Mb as B,Rc as L,Sa as r,V as X,Vb as S,Zb as h,_ as x,da as y,ea as b,fa as V,ga as j,gb as H,kc as G,lb as P,nc as o,oc as m,pa as N,pc as u,qc as $,ra as W,wb as D,xb as F,yb as q}from"./chunk-UH2E7MMT.js";import"./chunk-7CGTOI24.js";var U=class s{#e=x(z);#n=x(ge);#i=N([]);recentFiles=this.#i.asReadonly();#r=5;#s=N(null);etaData=this.#s.asReadonly();#a=null;#t=null;#o=null;recentFileEffect=W(()=>{let i=this.#e.statusData();i&&i.CurrentFilename&&i.CurrentFilesize!==void 0&&this.#l(i.CurrentFilename,i.CurrentFilesize)});#l(i,n){let a=new Date;this.#i.update(l=>l.length>0&&l[0].filename===i?l:[{filename:i,filesize:n,timestamp:a},...l].slice(0,this.#r))}activateView(){this.#a=new Date;let i=this.#e.statusData();i&&i.ProcessedFileCount!==void 0&&i.ProcessedFileSize!==void 0&&(this.#t={files:i.ProcessedFileCount,bytes:i.ProcessedFileSize}),this.#o=setInterval(()=>{this.#c()},1e3)}deactivateView(){this.#a=null,this.#t=null,this.#o&&(clearInterval(this.#o),this.#o=null)}#c(){if(!this.#a||!this.#t)return;let i=this.#e.statusData();if(!i)return;let n=new Date,a=(n.getTime()-this.#a.getTime())/1e3;if(a<5)return;let l=i.ProcessedFileCount||0,d=i.ProcessedFileSize||0,c=l-this.#t.files,k=d-this.#t.bytes,M=c/a,O=k/a,A=(i.TotalFileCount||0)-l,f=(i.TotalFileSize||0)-d,T=null,v=null;M>0&&(T=A/M),O>0&&(v=f/O);let R=null,w="bytes";if(T!==null&&v!==null){let Se=Math.max(T,v);R=new Date(n.getTime()+Se*1e3),w=T>v?"files":"bytes"}else T!==null?(R=new Date(n.getTime()+T*1e3),w="files"):v!==null&&(R=new Date(n.getTime()+v*1e3),w="bytes");this.#s.set({startTime:this.#a,filesProcessedAtStart:this.#t.files,bytesProcessedAtStart:this.#t.bytes,currentFilesPerSecond:M,currentBytesPerSecond:O,estimatedCompletion:R,metric:w})}static \u0275fac=function(n){return new(n||s)};static \u0275prov=X({token:s,factory:s.\u0275fac,providedIn:"root"})};function xe(s,i){if(s&1&&(e(0,"div",42)(1,"span",20),o(2,"Processing"),t(),e(3,"sh-list",43)(4,"div",44)(5,"sh-icon"),o(6,"file"),t(),e(7,"div",45)(8,"span",46),o(9),t(),e(10,"span",47),o(11),_(12,"bytes"),t()()()()()),s&2){let n,a,l,d=g(2);r(8),p("title",(n=d.statusData())==null?null:n.CurrentFilename),r(),u(" ",(a=d.statusData())==null?null:a.CurrentFilename," "),r(2),m(C(12,3,(l=d.statusData())==null?null:l.CurrentFilesize))}}function Me(s,i){if(s&1&&(e(0,"div",35)(1,"span",46),o(2),t(),e(3,"span",47),o(4),_(5,"bytes"),t()()),s&2){let n=i.$implicit;r(),p("title",n.filename),r(),m(n.filename),r(2),m(C(5,3,n.filesize))}}function Oe(s,i){s&1&&(e(0,"div",36),S(1,2),t())}function Te(s,i){if(s&1&&(e(0,"sh-list")(1,"div",48)(2,"span",20),o(3,"ETA"),t(),e(4,"span",21),o(5),_(6,"date"),e(7,"span",49),o(8),_(9,"relativeTime"),t()()(),e(10,"div",50)(11,"span",20),o(12,"Files/s"),t(),e(13,"span",21),o(14),_(15,"number"),t()(),e(16,"div",50)(17,"span",20),o(18,"Upload Speed"),t(),e(19,"span",21),o(20),_(21,"bytes"),t()()()),s&2){let n,a,l,d,c=g(2);r(5),u(" ",E(6,4,(n=c.etaData())==null?null:n.estimatedCompletion,"mediumTime")," "),r(3),u("(",C(9,7,(a=c.etaData())==null?null:a.estimatedCompletion),")"),r(6),m(E(15,9,(l=c.etaData())==null?null:l.currentFilesPerSecond,"1.1-1")),r(6),u("",C(21,12,(d=c.etaData())==null?null:d.currentBytesPerSecond),"/s")}}function ve(s,i){if(s&1&&(e(0,"div",53)(1,"div",54)(2,"span",55),o(3),t(),e(4,"span",56),o(5),_(6,"bytes"),t()(),I(7,"sh-progress-bar",57),t()),s&2){let n=i.$implicit;r(2),p("title",n.BackendPath),r(),m(n.BackendPath),r(2),u("",C(6,4,n.BackendSpeed),"/s"),r(2),p("value",(n.BackendFileProgress||0)/(n.BackendFileSize||1)*100)}}function he(s,i){if(s&1&&(e(0,"div",51)(1,"sh-list"),P(2,ve,8,6,"div",52),t()()),s&2){let n,a=g(2);r(2),p("ngForOf",(n=a.statusData())==null?null:n.ActiveTransfers)}}function Ee(s,i){if(s&1){let n=B();e(0,"sh-card")(1,"div",13)(2,"div",14)(3,"sh-icon",15),o(4,"clock"),t(),e(5,"h2"),o(6),t()()(),e(7,"div",26)(8,"div",27)(9,"span",28),o(10),_(11,"number"),t()(),I(12,"sh-progress-bar",29),e(13,"sh-list")(14,"div",30)(15,"span",20),o(16,"Files"),t(),e(17,"span",21),o(18),t()(),e(19,"div",30)(20,"span",20),o(21,"Size"),t(),e(22,"span",21),o(23),_(24,"bytes"),_(25,"bytes"),t()()()()(),e(26,"sh-card")(27,"div",13)(28,"div",14)(29,"sh-icon",15),o(30,"file"),t(),e(31,"h3"),o(32,"Activity"),t()()(),e(33,"div",31),P(34,xe,13,5,"div",32),e(35,"div",33)(36,"span",20),S(37,1),t(),e(38,"sh-list",34),K(39,Me,6,5,"div",35,q),D(41,Oe,2,0,"div",36),t()()()(),e(42,"sh-card")(43,"div",13)(44,"div",14)(45,"sh-icon",15),o(46,"gauge"),t(),e(47,"h3"),o(48,"Performance"),t()(),e(49,"div",37),o(50),_(51,"bytes"),t()(),e(52,"div",38),P(53,Te,22,14,"sh-list",25),e(54,"div",39)(55,"button",40),h("click",function(){y(n);let l=g();return b(l.toggleTransfers())}),o(56),t(),P(57,he,3,1,"div",41),t()()()}if(s&2){let n,a,l,d,c=g();r(6),m(c.statusText()),r(4),u("",E(11,13,c.progress(),"1.0-0"),"%"),r(2),p("value",c.progress()),r(6),$("",(n=c.statusData())==null?null:n.ProcessedFileCount," / ",(n=c.statusData())==null?null:n.TotalFileCount),r(5),$(" ",C(24,16,(a=c.statusData())==null?null:a.ProcessedFileSize)," / ",C(25,18,(a=c.statusData())==null?null:a.TotalFileSize)," "),r(11),p("ngIf",(l=c.statusData())==null?null:l.CurrentFilename),r(5),Q(c.recentFiles()),r(2),F(c.recentFiles().length===0?41:-1),r(9),u("",C(51,20,(d=c.statusData())==null?null:d.BackendSpeed),"/s"),r(3),p("ngIf",c.etaData()),r(3),u(" ",c.transfersExpanded()?"Hide Details":"Show Details"," "),r(),p("ngIf",c.transfersExpanded())}}function ye(s,i){if(s&1&&(e(0,"sh-card",75)(1,"div",13)(2,"div",14)(3,"sh-icon",15),o(4,"calendar"),t(),e(5,"h3"),S(6,7),t()()(),e(7,"div",76)(8,"div",77)(9,"span",78),o(10),t(),e(11,"div",79)(12,"span",80),o(13),_(14,"date"),t(),e(15,"span",81),o(16),_(17,"relativeTime"),t()()(),e(18,"sh-icon",82),o(19,"caret-right"),t()()()),s&2){let n,a=g(2);r(10),m((n=a.nextBackup().backup)==null?null:n.Name),r(3),m(E(14,3,a.nextBackup().time,"medium")),r(3),u("(",C(17,6,a.nextBackup().time),")")}}function be(s,i){s&1&&(e(0,"span",74),S(1,8),t())}function Ne(s,i){if(s&1){let n=B();e(0,"sh-card",58)(1,"div",59)(2,"div",60)(3,"div",61),V(),e(4,"svg",62),I(5,"circle",63),t(),j(),e(6,"sh-icon",64),S(7,3),t()()(),e(8,"div",65)(9,"h2"),S(10,4),t(),e(11,"p",66),S(12,5),t()(),e(13,"div",67)(14,"button",68),h("click",function(){y(n);let l=g();return b(l.pauseResume())}),e(15,"sh-icon"),o(16),t(),o(17),t()()()(),P(18,ye,20,8,"sh-card",69),e(19,"sh-card",70)(20,"div",71)(21,"span",20),S(22,6),t(),e(23,"div",72)(24,"span",73),o(25),t(),D(26,be,2,0,"span",74),t()()()}if(s&2){let n,a=g();r(14),p("variant",a.clientIsRunning()?"primary":"secondary"),r(2),m(a.clientIsRunning()?"pause":"play"),r(),u(" ",a.clientIsRunning()?"Pause Execution":"Resume Execution"," "),r(),p("ngIf",a.nextBackup()),r(6),G("running",a.clientIsRunning()),r(),m((n=a.serverState())==null?null:n.ProgramState),r(),F(a.clientIsRunning()?-1:26)}}function Ie(s,i){if(s&1&&(e(0,"div",35)(1,"span",46),o(2),t(),e(3,"span",47),o(4),_(5,"bytes"),t()()),s&2){let n=i.$implicit;r(),p("title",n.filename),r(),m(n.filename),r(2),m(C(5,3,n.filesize))}}function ke(s,i){if(s&1&&(e(0,"sh-card",83)(1,"div",13)(2,"div",14)(3,"sh-icon",15),o(4,"clock-counter-clockwise"),t(),e(5,"h3"),S(6,9),t()()(),e(7,"sh-list"),P(8,Ie,6,5,"div",84),t()()),s&2){let n=g();r(8),p("ngForOf",n.recentFiles())}}function Ae(s,i){if(s&1&&(e(0,"div",19)(1,"span",20),o(2,"Next Task:"),t(),e(3,"div",21)(4,"div"),o(5),t(),e(6,"div",49),o(7),_(8,"date"),_(9,"relativeTime"),t()()()),s&2){let n,a=g();r(5),m((n=a.nextBackup().backup)==null?null:n.Name),r(2),$(" ",E(8,3,a.nextBackup().time,"medium")," (",C(9,6,a.nextBackup().time),") ")}}function Re(s,i){if(s&1){let n=B();Y(0),e(1,"button",85),h("click",function(){y(n);let l=g();return b(l.stop())}),e(2,"sh-icon"),o(3,"stop"),t(),o(4," Stop "),t(),e(5,"button",85),h("click",function(){y(n);let l=g();return b(l.abort())}),e(6,"sh-icon"),o(7,"x-circle"),t(),o(8," Abort "),t(),Z()}}var J=class s{#e=x(z);#n=x(U);#i=x(_e);#r=x(re);statusData=this.#e.statusData;serverState=this.#e.serverState;recentFiles=this.#n.recentFiles;etaData=this.#n.etaData;transfersExpanded=N(!1);clientIsRunning=this.#e.clientIsRunning;statusText=L(()=>{let i=this.statusData()?.Phase;return i?pe[i]||i:""});progress=L(()=>{let i=this.statusData();return i?(i.OverallProgress||0)*100:0});nextBackup=L(()=>({backup:this.serverState()?.ProposedSchedule?.[0]?.backup,time:this.serverState()?.ProposedSchedule?.[0]?.Item2}));ngOnInit(){this.#n.activateView()}ngOnDestroy(){this.#n.deactivateView()}toggleTransfers(){this.transfersExpanded.update(i=>!i)}isTaskRunning(){return!!this.statusData()?.TaskID}taskStartTime(){return this.etaData()?.startTime}currentBackupId(){return this.statusData()?.BackupID}pauseResume(){if(this.clientIsRunning()){this.#r.open(Ce,{maxWidth:"550px",width:"100%"});return}this.#e.pauseResume().subscribe()}stop(){let i=this.statusData()?.TaskID;i&&this.#i.postApiV1TaskByTaskidStop({taskid:i}).subscribe()}abort(){let i=this.statusData()?.TaskID;i&&this.#i.postApiV1TaskByTaskidAbort({taskid:i}).subscribe()}static \u0275fac=function(n){return new(n||s)};static \u0275cmp=H({type:s,selectors:[["app-status"]],decls:29,vars:12,consts:()=>{let i;i=$localize`Live Logs`;let n;n=$localize`Recently Processed`;let a;a=$localize`No recent files`;let l;l=$localize`check-bold`;let d;d=$localize`System Ready`;let c;c=$localize`Waiting for the next scheduled backup task.`;let k;k=$localize`Server State`;let M;M=$localize`Next Scheduled Task`;let O;O=$localize`Backups are currently paused`;let A;return A=$localize`Recent Activity`,[i,n,a,l,d,c,k,M,O,A,[1,"status-page"],["class","activity-card",4,"ngIf"],[1,"logs-card"],[1,"card-header"],[1,"header-titl-group"],[1,"header-icon"],[1,"logs-content"],[3,"polling","whenFilter","backupIdFilter"],[1,"server-status-section"],[1,"status-row"],[1,"label"],[1,"value"],["class","status-row",4,"ngIf"],[1,"actions"],["shButton","",3,"click"],[4,"ngIf"],[1,"progress-content"],[1,"percentage-display"],[1,"percentage-value"],[3,"value"],["item","",1,"stat-item"],[1,"files-content"],["class","current-file-section",4,"ngIf"],[1,"recent-files-section"],[1,"recent-files-list"],["item","",1,"file-item"],["item","",1,"empty-state"],[1,"aggregate-speed"],[1,"performance-content"],[1,"transfers-section"],["shButton","","size","small","variant","ghost",1,"toggle-btn",3,"click"],["class","transfer-details",4,"ngIf"],[1,"current-file-section"],[1,"current-file-list"],["item","",1,"file-item","current"],[1,"file-details"],[1,"filename",3,"title"],[1,"filesize"],["item","",1,"eta-item"],[1,"sub-text"],["item","",1,"metric-item"],[1,"transfer-details"],["class","transfer-item","item","",4,"ngFor","ngForOf"],["item","",1,"transfer-item"],[1,"transfer-header"],[1,"path",3,"title"],[1,"speed"],[1,"mini-progress",3,"value"],[1,"idle-hero-card"],[1,"idle-content"],[1,"status-visual"],[1,"complete-status"],[1,"border-svg"],["cx","50","cy","50","r","45",1,"border-circle"],[1,"status-icon"],[1,"status-info"],[1,"status-description"],[1,"idle-actions"],["shButton","",3,"click","variant"],["class","next-task-hero",4,"ngIf"],[1,"server-state-card"],[1,"state-content"],[1,"state-line"],[1,"status-badge"],[1,"warning-text"],[1,"next-task-hero"],[1,"next-task-content"],[1,"task-main"],[1,"task-name"],[1,"task-time-group"],[1,"task-time"],[1,"task-relative"],[1,"chevron"],[1,"activity-card"],["class","file-item","item","",4,"ngFor","ngForOf"],["shButton","","color","warn",3,"click"]]},template:function(n,a){if(n&1&&(e(0,"div",10),D(1,Ee,58,22)(2,Ne,27,8),P(3,ke,9,1,"sh-card",11),e(4,"sh-card",12)(5,"div",13)(6,"div",14)(7,"sh-icon",15),o(8,"list"),t(),e(9,"h3"),S(10,0),t()()(),e(11,"div",16),I(12,"app-logs-live",17),t()(),e(13,"sh-card")(14,"div",18)(15,"h3"),o(16,"Server Status"),t(),e(17,"div",19)(18,"span",20),o(19,"State:"),t(),e(20,"span",21),o(21),t()(),P(22,Ae,10,8,"div",22),e(23,"div",23)(24,"button",24),h("click",function(){return a.pauseResume()}),e(25,"sh-icon"),o(26),t(),o(27),t(),P(28,Re,9,0,"ng-container",25),t()()()()),n&2){let l,d;G("idle",!a.isTaskRunning()),r(),F(a.isTaskRunning()?1:2),r(2),p("ngIf",!a.isTaskRunning()&&a.recentFiles().length>0),r(9),p("polling",a.isTaskRunning())("whenFilter",(l=a.taskStartTime())==null?null:l.getTime())("backupIdFilter",a.currentBackupId()),r(9),m((d=a.serverState())==null?null:d.ProgramState),r(),p("ngIf",a.nextBackup()),r(4),m(a.clientIsRunning()?"pause":"play_arrow"),r(),u(" ",a.clientIsRunning()?"Pause":"Resume"," "),r(),p("ngIf",a.isTaskRunning())}},dependencies:[ae,ee,te,le,de,se,oe,fe,ce,ie,ne,me,ue],styles:["[_nghost-%COMP%]{display:block;padding:24px;max-width:1400px;margin:0 auto}.status-page[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr;gap:24px}@media(min-width:768px){.status-page[_ngcontent-%COMP%]{grid-template-columns:repeat(2,1fr)}}@media(min-width:1200px){.status-page[_ngcontent-%COMP%]{grid-template-columns:repeat(3,1fr)}}@media(min-width:1200px){.status-page[_ngcontent-%COMP%] .logs-card[_ngcontent-%COMP%], .status-page.idle[_ngcontent-%COMP%] .idle-hero-card[_ngcontent-%COMP%]{grid-column:span 2}.status-page.idle[_ngcontent-%COMP%] .next-task-hero[_ngcontent-%COMP%], .status-page.idle[_ngcontent-%COMP%] .server-state-card[_ngcontent-%COMP%]{grid-column:3}.status-page.idle[_ngcontent-%COMP%] .activity-card[_ngcontent-%COMP%], .status-page.idle[_ngcontent-%COMP%] .logs-card[_ngcontent-%COMP%]{grid-column:1/-1}}sh-card[_ngcontent-%COMP%]{height:100%;display:flex;flex-direction:column;--sh-card-padding: 24px}.card-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.card-header[_ngcontent-%COMP%] .header-titl-group[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px}.card-header[_ngcontent-%COMP%] .header-titl-group[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{color:var(--primary-color);font-size:24px}.card-header[_ngcontent-%COMP%] .header-titl-group[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], .card-header[_ngcontent-%COMP%] .header-titl-group[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.progress-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:20px}.progress-content[_ngcontent-%COMP%] .percentage-display[_ngcontent-%COMP%]{text-align:center}.progress-content[_ngcontent-%COMP%] .percentage-display[_ngcontent-%COMP%] .percentage-value[_ngcontent-%COMP%]{font-size:3rem;font-weight:800;color:var(--primary-color);line-height:1}.progress-content[_ngcontent-%COMP%] sh-progress-bar[_ngcontent-%COMP%]{height:8px;border-radius:4px;--sh-progress-bar-track-color: var(--bg-secondary)}.progress-content[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;width:100%}.progress-content[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{color:var(--text-secondary);font-size:.9rem}.progress-content[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{font-weight:600}.files-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:16px}.files-content[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-size:.75rem;text-transform:uppercase;color:var(--text-secondary);font-weight:600;margin-bottom:4px;display:block;padding-left:12px}.files-content[_ngcontent-%COMP%] .file-item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%}.files-content[_ngcontent-%COMP%] .file-item.current[_ngcontent-%COMP%]{gap:12px;justify-content:flex-start}.files-content[_ngcontent-%COMP%] .file-item.current[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{color:var(--primary-color)}.files-content[_ngcontent-%COMP%] .file-item.current[_ngcontent-%COMP%] .file-details[_ngcontent-%COMP%]{display:flex;flex-direction:column;overflow:hidden}.files-content[_ngcontent-%COMP%] .file-item[_ngcontent-%COMP%] .filename[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:12px;font-size:.9rem;font-weight:500;flex:1}.files-content[_ngcontent-%COMP%] .file-item[_ngcontent-%COMP%] .filesize[_ngcontent-%COMP%]{color:var(--text-secondary);font-size:.85rem;font-variant-numeric:tabular-nums;white-space:nowrap}.files-content[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%]{color:var(--text-secondary);font-style:italic;text-align:center;width:100%}.performance-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:16px}.performance-content[_ngcontent-%COMP%] .aggregate-speed[_ngcontent-%COMP%]{font-size:1.2rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.performance-content[_ngcontent-%COMP%] .eta-item[_ngcontent-%COMP%], .performance-content[_ngcontent-%COMP%] .metric-item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%}.performance-content[_ngcontent-%COMP%] .eta-item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%], .performance-content[_ngcontent-%COMP%] .metric-item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{color:var(--text-secondary);font-size:.9rem}.performance-content[_ngcontent-%COMP%] .eta-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%], .performance-content[_ngcontent-%COMP%] .metric-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{font-weight:600;font-variant-numeric:tabular-nums}.performance-content[_ngcontent-%COMP%] .eta-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%] .sub-text[_ngcontent-%COMP%], .performance-content[_ngcontent-%COMP%] .metric-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%] .sub-text[_ngcontent-%COMP%]{color:var(--text-secondary);font-weight:400;font-size:.85rem;margin-left:4px}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .toggle-btn[_ngcontent-%COMP%]{width:100%;margin-bottom:12px}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;gap:4px}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%] .transfer-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;font-size:.85rem}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%] .transfer-header[_ngcontent-%COMP%] .path[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:12px}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%] .transfer-header[_ngcontent-%COMP%] .speed[_ngcontent-%COMP%]{color:var(--text-secondary);font-variant-numeric:tabular-nums}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%] .mini-progress[_ngcontent-%COMP%]{height:4px}.logs-content[_ngcontent-%COMP%] app-logs-live[_ngcontent-%COMP%]{height:350px;display:block}.status-badge[_ngcontent-%COMP%]{padding:4px 12px;border-radius:12px;background:var(--bg-secondary);color:var(--text-secondary);font-size:.8rem;font-weight:500;text-transform:uppercase}.status-badge.running[_ngcontent-%COMP%]{background:rgba(var(--primary-rgb),.1);color:var(--primary-color)}.actions-grid[_ngcontent-%COMP%]{margin-top:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.actions-grid[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]{width:100%;justify-content:center}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 0;gap:32px}@media(min-width:768px){.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%]{flex-direction:row;text-align:left;justify-content:space-around;padding:48px 0}}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .status-visual[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .status-info[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:2rem;font-weight:700;margin-bottom:8px;color:var(--text-primary)}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .status-info[_ngcontent-%COMP%] .status-description[_ngcontent-%COMP%]{color:var(--text-secondary);font-size:1.1rem;max-width:300px}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .idle-actions[_ngcontent-%COMP%]{display:flex;align-items:center}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .idle-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding-left:32px;padding-right:32px}.complete-status[_ngcontent-%COMP%]{position:relative;width:120px;height:120px;display:flex;justify-content:center;align-items:center;color:var(--primary-color)}.complete-status[_ngcontent-%COMP%] .status-icon[_ngcontent-%COMP%]{font-size:48px;opacity:0;animation:_ngcontent-%COMP%_reveal-icon .2s linear forwards;animation-delay:1s}.border-svg[_ngcontent-%COMP%]{position:absolute;top:0;left:0;width:100%;height:100%}.border-circle[_ngcontent-%COMP%]{fill:none;stroke:var(--primary-color);stroke-width:5px;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}}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:12px 0}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%] .task-main[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:4px}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%] .task-main[_ngcontent-%COMP%] .task-name[_ngcontent-%COMP%]{font-size:1.2rem;font-weight:700;color:var(--primary-color)}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%] .task-main[_ngcontent-%COMP%] .task-time-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;color:var(--text-secondary);font-size:.95rem}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%] .chevron[_ngcontent-%COMP%]{color:var(--text-secondary);opacity:.5}.server-state-card[_ngcontent-%COMP%] .state-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px}.server-state-card[_ngcontent-%COMP%] .state-content[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-size:.75rem;text-transform:uppercase;color:var(--text-secondary);font-weight:600}.server-state-card[_ngcontent-%COMP%] .state-content[_ngcontent-%COMP%] .state-line[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px}.server-state-card[_ngcontent-%COMP%] .state-content[_ngcontent-%COMP%] .state-line[_ngcontent-%COMP%] .warning-text[_ngcontent-%COMP%]{font-size:.85rem;color:var(--error-color);font-weight:500}"],changeDetection:0})};export{J as default};
|
|
1
|
+
import{a as fe}from"./chunk-M5RTYP7N.js";import"./chunk-HHDCI6IF.js";import{a as Ce}from"./chunk-GO22QPW4.js";import{a as pe,b as z}from"./chunk-I625OICV.js";import"./chunk-XCVBN7EK.js";import{a as ue}from"./chunk-ADB5QRUO.js";import"./chunk-22PELS6R.js";import"./chunk-6Q6SSTBK.js";import{a as me}from"./chunk-MRSBKQQM.js";import"./chunk-35APLYI4.js";import"./chunk-LU7TIW3P.js";import{b as ge}from"./chunk-XZNYCTQB.js";import"./chunk-R6TFME5I.js";import"./chunk-AZRNX5LU.js";import{B as se,C as le,J as ce,L as de,v as oe,z as re}from"./chunk-NCXKMSRH.js";import{d as _e}from"./chunk-QAQMMCTH.js";import"./chunk-KHZ5AXGT.js";import"./chunk-L2QOWZDR.js";import"./chunk-BRL4YYWO.js";import{T as ee,U as te,ha as ne,ma as ie,qa as ae}from"./chunk-BDQJFOCO.js";import"./chunk-FSHBOASN.js";import{$b as g,Ab as K,Bb as Q,Cb as p,Db as e,Eb as t,Fb as I,Gc as _,Hc as C,Ic as E,Jb as Y,Kb as Z,Mb as B,Rc as L,Sa as r,V as X,Vb as S,Zb as h,_ as x,da as y,ea as b,fa as V,ga as j,gb as H,kc as G,lb as P,nc as o,oc as m,pa as N,pc as u,qc as $,ra as W,wb as D,xb as F,yb as q}from"./chunk-UH2E7MMT.js";import"./chunk-7CGTOI24.js";var U=class s{#e=x(z);#n=x(ge);#i=N([]);recentFiles=this.#i.asReadonly();#r=5;#s=N(null);etaData=this.#s.asReadonly();#a=null;#t=null;#o=null;recentFileEffect=W(()=>{let i=this.#e.statusData();i&&i.CurrentFilename&&i.CurrentFilesize!==void 0&&this.#l(i.CurrentFilename,i.CurrentFilesize)});#l(i,n){let a=new Date;this.#i.update(l=>l.length>0&&l[0].filename===i?l:[{filename:i,filesize:n,timestamp:a},...l].slice(0,this.#r))}activateView(){this.#a=new Date;let i=this.#e.statusData();i&&i.ProcessedFileCount!==void 0&&i.ProcessedFileSize!==void 0&&(this.#t={files:i.ProcessedFileCount,bytes:i.ProcessedFileSize}),this.#o=setInterval(()=>{this.#c()},1e3)}deactivateView(){this.#a=null,this.#t=null,this.#o&&(clearInterval(this.#o),this.#o=null)}#c(){if(!this.#a||!this.#t)return;let i=this.#e.statusData();if(!i)return;let n=new Date,a=(n.getTime()-this.#a.getTime())/1e3;if(a<5)return;let l=i.ProcessedFileCount||0,d=i.ProcessedFileSize||0,c=l-this.#t.files,k=d-this.#t.bytes,M=c/a,O=k/a,A=(i.TotalFileCount||0)-l,f=(i.TotalFileSize||0)-d,T=null,v=null;M>0&&(T=A/M),O>0&&(v=f/O);let R=null,w="bytes";if(T!==null&&v!==null){let Se=Math.max(T,v);R=new Date(n.getTime()+Se*1e3),w=T>v?"files":"bytes"}else T!==null?(R=new Date(n.getTime()+T*1e3),w="files"):v!==null&&(R=new Date(n.getTime()+v*1e3),w="bytes");this.#s.set({startTime:this.#a,filesProcessedAtStart:this.#t.files,bytesProcessedAtStart:this.#t.bytes,currentFilesPerSecond:M,currentBytesPerSecond:O,estimatedCompletion:R,metric:w})}static \u0275fac=function(n){return new(n||s)};static \u0275prov=X({token:s,factory:s.\u0275fac,providedIn:"root"})};function xe(s,i){if(s&1&&(e(0,"div",42)(1,"span",20),o(2,"Processing"),t(),e(3,"sh-list",43)(4,"div",44)(5,"sh-icon"),o(6,"file"),t(),e(7,"div",45)(8,"span",46),o(9),t(),e(10,"span",47),o(11),_(12,"bytes"),t()()()()()),s&2){let n,a,l,d=g(2);r(8),p("title",(n=d.statusData())==null?null:n.CurrentFilename),r(),u(" ",(a=d.statusData())==null?null:a.CurrentFilename," "),r(2),m(C(12,3,(l=d.statusData())==null?null:l.CurrentFilesize))}}function Me(s,i){if(s&1&&(e(0,"div",35)(1,"span",46),o(2),t(),e(3,"span",47),o(4),_(5,"bytes"),t()()),s&2){let n=i.$implicit;r(),p("title",n.filename),r(),m(n.filename),r(2),m(C(5,3,n.filesize))}}function Oe(s,i){s&1&&(e(0,"div",36),S(1,2),t())}function Te(s,i){if(s&1&&(e(0,"sh-list")(1,"div",48)(2,"span",20),o(3,"ETA"),t(),e(4,"span",21),o(5),_(6,"date"),e(7,"span",49),o(8),_(9,"relativeTime"),t()()(),e(10,"div",50)(11,"span",20),o(12,"Files/s"),t(),e(13,"span",21),o(14),_(15,"number"),t()(),e(16,"div",50)(17,"span",20),o(18,"Upload Speed"),t(),e(19,"span",21),o(20),_(21,"bytes"),t()()()),s&2){let n,a,l,d,c=g(2);r(5),u(" ",E(6,4,(n=c.etaData())==null?null:n.estimatedCompletion,"mediumTime")," "),r(3),u("(",C(9,7,(a=c.etaData())==null?null:a.estimatedCompletion),")"),r(6),m(E(15,9,(l=c.etaData())==null?null:l.currentFilesPerSecond,"1.1-1")),r(6),u("",C(21,12,(d=c.etaData())==null?null:d.currentBytesPerSecond),"/s")}}function ve(s,i){if(s&1&&(e(0,"div",53)(1,"div",54)(2,"span",55),o(3),t(),e(4,"span",56),o(5),_(6,"bytes"),t()(),I(7,"sh-progress-bar",57),t()),s&2){let n=i.$implicit;r(2),p("title",n.BackendPath),r(),m(n.BackendPath),r(2),u("",C(6,4,n.BackendSpeed),"/s"),r(2),p("value",(n.BackendFileProgress||0)/(n.BackendFileSize||1)*100)}}function he(s,i){if(s&1&&(e(0,"div",51)(1,"sh-list"),P(2,ve,8,6,"div",52),t()()),s&2){let n,a=g(2);r(2),p("ngForOf",(n=a.statusData())==null?null:n.ActiveTransfers)}}function Ee(s,i){if(s&1){let n=B();e(0,"sh-card")(1,"div",13)(2,"div",14)(3,"sh-icon",15),o(4,"clock"),t(),e(5,"h2"),o(6),t()()(),e(7,"div",26)(8,"div",27)(9,"span",28),o(10),_(11,"number"),t()(),I(12,"sh-progress-bar",29),e(13,"sh-list")(14,"div",30)(15,"span",20),o(16,"Files"),t(),e(17,"span",21),o(18),t()(),e(19,"div",30)(20,"span",20),o(21,"Size"),t(),e(22,"span",21),o(23),_(24,"bytes"),_(25,"bytes"),t()()()()(),e(26,"sh-card")(27,"div",13)(28,"div",14)(29,"sh-icon",15),o(30,"file"),t(),e(31,"h3"),o(32,"Activity"),t()()(),e(33,"div",31),P(34,xe,13,5,"div",32),e(35,"div",33)(36,"span",20),S(37,1),t(),e(38,"sh-list",34),K(39,Me,6,5,"div",35,q),D(41,Oe,2,0,"div",36),t()()()(),e(42,"sh-card")(43,"div",13)(44,"div",14)(45,"sh-icon",15),o(46,"gauge"),t(),e(47,"h3"),o(48,"Performance"),t()(),e(49,"div",37),o(50),_(51,"bytes"),t()(),e(52,"div",38),P(53,Te,22,14,"sh-list",25),e(54,"div",39)(55,"button",40),h("click",function(){y(n);let l=g();return b(l.toggleTransfers())}),o(56),t(),P(57,he,3,1,"div",41),t()()()}if(s&2){let n,a,l,d,c=g();r(6),m(c.statusText()),r(4),u("",E(11,13,c.progress(),"1.0-0"),"%"),r(2),p("value",c.progress()),r(6),$("",(n=c.statusData())==null?null:n.ProcessedFileCount," / ",(n=c.statusData())==null?null:n.TotalFileCount),r(5),$(" ",C(24,16,(a=c.statusData())==null?null:a.ProcessedFileSize)," / ",C(25,18,(a=c.statusData())==null?null:a.TotalFileSize)," "),r(11),p("ngIf",(l=c.statusData())==null?null:l.CurrentFilename),r(5),Q(c.recentFiles()),r(2),F(c.recentFiles().length===0?41:-1),r(9),u("",C(51,20,(d=c.statusData())==null?null:d.BackendSpeed),"/s"),r(3),p("ngIf",c.etaData()),r(3),u(" ",c.transfersExpanded()?"Hide Details":"Show Details"," "),r(),p("ngIf",c.transfersExpanded())}}function ye(s,i){if(s&1&&(e(0,"sh-card",75)(1,"div",13)(2,"div",14)(3,"sh-icon",15),o(4,"calendar"),t(),e(5,"h3"),S(6,7),t()()(),e(7,"div",76)(8,"div",77)(9,"span",78),o(10),t(),e(11,"div",79)(12,"span",80),o(13),_(14,"date"),t(),e(15,"span",81),o(16),_(17,"relativeTime"),t()()(),e(18,"sh-icon",82),o(19,"caret-right"),t()()()),s&2){let n,a=g(2);r(10),m((n=a.nextBackup().backup)==null?null:n.Name),r(3),m(E(14,3,a.nextBackup().time,"medium")),r(3),u("(",C(17,6,a.nextBackup().time),")")}}function be(s,i){s&1&&(e(0,"span",74),S(1,8),t())}function Ne(s,i){if(s&1){let n=B();e(0,"sh-card",58)(1,"div",59)(2,"div",60)(3,"div",61),V(),e(4,"svg",62),I(5,"circle",63),t(),j(),e(6,"sh-icon",64),S(7,3),t()()(),e(8,"div",65)(9,"h2"),S(10,4),t(),e(11,"p",66),S(12,5),t()(),e(13,"div",67)(14,"button",68),h("click",function(){y(n);let l=g();return b(l.pauseResume())}),e(15,"sh-icon"),o(16),t(),o(17),t()()()(),P(18,ye,20,8,"sh-card",69),e(19,"sh-card",70)(20,"div",71)(21,"span",20),S(22,6),t(),e(23,"div",72)(24,"span",73),o(25),t(),D(26,be,2,0,"span",74),t()()()}if(s&2){let n,a=g();r(14),p("variant",a.clientIsRunning()?"primary":"secondary"),r(2),m(a.clientIsRunning()?"pause":"play"),r(),u(" ",a.clientIsRunning()?"Pause Execution":"Resume Execution"," "),r(),p("ngIf",a.nextBackup()),r(6),G("running",a.clientIsRunning()),r(),m((n=a.serverState())==null?null:n.ProgramState),r(),F(a.clientIsRunning()?-1:26)}}function Ie(s,i){if(s&1&&(e(0,"div",35)(1,"span",46),o(2),t(),e(3,"span",47),o(4),_(5,"bytes"),t()()),s&2){let n=i.$implicit;r(),p("title",n.filename),r(),m(n.filename),r(2),m(C(5,3,n.filesize))}}function ke(s,i){if(s&1&&(e(0,"sh-card",83)(1,"div",13)(2,"div",14)(3,"sh-icon",15),o(4,"clock-counter-clockwise"),t(),e(5,"h3"),S(6,9),t()()(),e(7,"sh-list"),P(8,Ie,6,5,"div",84),t()()),s&2){let n=g();r(8),p("ngForOf",n.recentFiles())}}function Ae(s,i){if(s&1&&(e(0,"div",19)(1,"span",20),o(2,"Next Task:"),t(),e(3,"div",21)(4,"div"),o(5),t(),e(6,"div",49),o(7),_(8,"date"),_(9,"relativeTime"),t()()()),s&2){let n,a=g();r(5),m((n=a.nextBackup().backup)==null?null:n.Name),r(2),$(" ",E(8,3,a.nextBackup().time,"medium")," (",C(9,6,a.nextBackup().time),") ")}}function Re(s,i){if(s&1){let n=B();Y(0),e(1,"button",85),h("click",function(){y(n);let l=g();return b(l.stop())}),e(2,"sh-icon"),o(3,"stop"),t(),o(4," Stop "),t(),e(5,"button",85),h("click",function(){y(n);let l=g();return b(l.abort())}),e(6,"sh-icon"),o(7,"x-circle"),t(),o(8," Abort "),t(),Z()}}var J=class s{#e=x(z);#n=x(U);#i=x(_e);#r=x(re);statusData=this.#e.statusData;serverState=this.#e.serverState;recentFiles=this.#n.recentFiles;etaData=this.#n.etaData;transfersExpanded=N(!1);clientIsRunning=this.#e.clientIsRunning;statusText=L(()=>{let i=this.statusData()?.Phase;return i?pe[i]||i:""});progress=L(()=>{let i=this.statusData();return i?(i.OverallProgress||0)*100:0});nextBackup=L(()=>({backup:this.serverState()?.ProposedSchedule?.[0]?.backup,time:this.serverState()?.ProposedSchedule?.[0]?.Item2}));ngOnInit(){this.#n.activateView()}ngOnDestroy(){this.#n.deactivateView()}toggleTransfers(){this.transfersExpanded.update(i=>!i)}isTaskRunning(){return!!this.statusData()?.TaskID}taskStartTime(){return this.etaData()?.startTime}currentBackupId(){return this.statusData()?.BackupID}pauseResume(){if(this.clientIsRunning()){this.#r.open(Ce,{maxWidth:"550px",width:"100%"});return}this.#e.pauseResume().subscribe()}stop(){let i=this.statusData()?.TaskID;i&&this.#i.postApiV1TaskByTaskidStop({taskid:i}).subscribe()}abort(){let i=this.statusData()?.TaskID;i&&this.#i.postApiV1TaskByTaskidAbort({taskid:i}).subscribe()}static \u0275fac=function(n){return new(n||s)};static \u0275cmp=H({type:s,selectors:[["app-status"]],decls:29,vars:12,consts:()=>{let i;i=$localize`Live Logs`;let n;n=$localize`Recently Processed`;let a;a=$localize`No recent files`;let l;l=$localize`check-bold`;let d;d=$localize`System Ready`;let c;c=$localize`Waiting for the next scheduled backup task.`;let k;k=$localize`Server State`;let M;M=$localize`Next Scheduled Task`;let O;O=$localize`Backups are currently paused`;let A;return A=$localize`Recent Activity`,[i,n,a,l,d,c,k,M,O,A,[1,"status-page"],["class","activity-card",4,"ngIf"],[1,"logs-card"],[1,"card-header"],[1,"header-titl-group"],[1,"header-icon"],[1,"logs-content"],[3,"polling","whenFilter","backupIdFilter"],[1,"server-status-section"],[1,"status-row"],[1,"label"],[1,"value"],["class","status-row",4,"ngIf"],[1,"actions"],["shButton","",3,"click"],[4,"ngIf"],[1,"progress-content"],[1,"percentage-display"],[1,"percentage-value"],[3,"value"],["item","",1,"stat-item"],[1,"files-content"],["class","current-file-section",4,"ngIf"],[1,"recent-files-section"],[1,"recent-files-list"],["item","",1,"file-item"],["item","",1,"empty-state"],[1,"aggregate-speed"],[1,"performance-content"],[1,"transfers-section"],["shButton","","size","small","variant","ghost",1,"toggle-btn",3,"click"],["class","transfer-details",4,"ngIf"],[1,"current-file-section"],[1,"current-file-list"],["item","",1,"file-item","current"],[1,"file-details"],[1,"filename",3,"title"],[1,"filesize"],["item","",1,"eta-item"],[1,"sub-text"],["item","",1,"metric-item"],[1,"transfer-details"],["class","transfer-item","item","",4,"ngFor","ngForOf"],["item","",1,"transfer-item"],[1,"transfer-header"],[1,"path",3,"title"],[1,"speed"],[1,"mini-progress",3,"value"],[1,"idle-hero-card"],[1,"idle-content"],[1,"status-visual"],[1,"complete-status"],[1,"border-svg"],["cx","50","cy","50","r","45",1,"border-circle"],[1,"status-icon"],[1,"status-info"],[1,"status-description"],[1,"idle-actions"],["shButton","",3,"click","variant"],["class","next-task-hero",4,"ngIf"],[1,"server-state-card"],[1,"state-content"],[1,"state-line"],[1,"status-badge"],[1,"warning-text"],[1,"next-task-hero"],[1,"next-task-content"],[1,"task-main"],[1,"task-name"],[1,"task-time-group"],[1,"task-time"],[1,"task-relative"],[1,"chevron"],[1,"activity-card"],["class","file-item","item","",4,"ngFor","ngForOf"],["shButton","","color","warn",3,"click"]]},template:function(n,a){if(n&1&&(e(0,"div",10),D(1,Ee,58,22)(2,Ne,27,8),P(3,ke,9,1,"sh-card",11),e(4,"sh-card",12)(5,"div",13)(6,"div",14)(7,"sh-icon",15),o(8,"list"),t(),e(9,"h3"),S(10,0),t()()(),e(11,"div",16),I(12,"app-logs-live",17),t()(),e(13,"sh-card")(14,"div",18)(15,"h3"),o(16,"Server Status"),t(),e(17,"div",19)(18,"span",20),o(19,"State:"),t(),e(20,"span",21),o(21),t()(),P(22,Ae,10,8,"div",22),e(23,"div",23)(24,"button",24),h("click",function(){return a.pauseResume()}),e(25,"sh-icon"),o(26),t(),o(27),t(),P(28,Re,9,0,"ng-container",25),t()()()()),n&2){let l,d;G("idle",!a.isTaskRunning()),r(),F(a.isTaskRunning()?1:2),r(2),p("ngIf",!a.isTaskRunning()&&a.recentFiles().length>0),r(9),p("polling",a.isTaskRunning())("whenFilter",(l=a.taskStartTime())==null?null:l.getTime())("backupIdFilter",a.currentBackupId()),r(9),m((d=a.serverState())==null?null:d.ProgramState),r(),p("ngIf",a.nextBackup()),r(4),m(a.clientIsRunning()?"pause":"play_arrow"),r(),u(" ",a.clientIsRunning()?"Pause":"Resume"," "),r(),p("ngIf",a.isTaskRunning())}},dependencies:[ae,ee,te,le,de,se,oe,fe,ce,ie,ne,me,ue],styles:["[_nghost-%COMP%]{display:block;padding:24px;max-width:1400px;margin:0 auto}.status-page[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr;gap:24px}@media(min-width:768px){.status-page[_ngcontent-%COMP%]{grid-template-columns:repeat(2,1fr)}}@media(min-width:1200px){.status-page[_ngcontent-%COMP%]{grid-template-columns:repeat(3,1fr)}}@media(min-width:1200px){.status-page[_ngcontent-%COMP%] .logs-card[_ngcontent-%COMP%], .status-page.idle[_ngcontent-%COMP%] .idle-hero-card[_ngcontent-%COMP%]{grid-column:span 2}.status-page.idle[_ngcontent-%COMP%] .next-task-hero[_ngcontent-%COMP%], .status-page.idle[_ngcontent-%COMP%] .server-state-card[_ngcontent-%COMP%]{grid-column:3}.status-page.idle[_ngcontent-%COMP%] .activity-card[_ngcontent-%COMP%], .status-page.idle[_ngcontent-%COMP%] .logs-card[_ngcontent-%COMP%]{grid-column:1/-1}}sh-card[_ngcontent-%COMP%]{height:100%;display:flex;flex-direction:column;--sh-card-padding: 24px}.card-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.card-header[_ngcontent-%COMP%] .header-titl-group[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px}.card-header[_ngcontent-%COMP%] .header-titl-group[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{color:var(--primary-color);font-size:24px}.card-header[_ngcontent-%COMP%] .header-titl-group[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], .card-header[_ngcontent-%COMP%] .header-titl-group[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.progress-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:20px}.progress-content[_ngcontent-%COMP%] .percentage-display[_ngcontent-%COMP%]{text-align:center}.progress-content[_ngcontent-%COMP%] .percentage-display[_ngcontent-%COMP%] .percentage-value[_ngcontent-%COMP%]{font-size:3rem;font-weight:800;color:var(--primary-color);line-height:1}.progress-content[_ngcontent-%COMP%] sh-progress-bar[_ngcontent-%COMP%]{height:8px;border-radius:4px;--sh-progress-bar-track-color: var(--bg-secondary)}.progress-content[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;width:100%}.progress-content[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{color:var(--text-secondary);font-size:.9rem}.progress-content[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{font-weight:600}.files-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:16px}.files-content[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-size:.75rem;text-transform:uppercase;color:var(--text-secondary);font-weight:600;margin-bottom:4px;display:block;padding-left:12px}.files-content[_ngcontent-%COMP%] .file-item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%}.files-content[_ngcontent-%COMP%] .file-item.current[_ngcontent-%COMP%]{gap:12px;justify-content:flex-start}.files-content[_ngcontent-%COMP%] .file-item.current[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{color:var(--primary-color)}.files-content[_ngcontent-%COMP%] .file-item.current[_ngcontent-%COMP%] .file-details[_ngcontent-%COMP%]{display:flex;flex-direction:column;overflow:hidden}.files-content[_ngcontent-%COMP%] .file-item[_ngcontent-%COMP%] .filename[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:12px;font-size:.9rem;font-weight:500;flex:1}.files-content[_ngcontent-%COMP%] .file-item[_ngcontent-%COMP%] .filesize[_ngcontent-%COMP%]{color:var(--text-secondary);font-size:.85rem;font-variant-numeric:tabular-nums;white-space:nowrap}.files-content[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%]{color:var(--text-secondary);font-style:italic;text-align:center;width:100%}.performance-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:16px}.performance-content[_ngcontent-%COMP%] .aggregate-speed[_ngcontent-%COMP%]{font-size:1.2rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.performance-content[_ngcontent-%COMP%] .eta-item[_ngcontent-%COMP%], .performance-content[_ngcontent-%COMP%] .metric-item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%}.performance-content[_ngcontent-%COMP%] .eta-item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%], .performance-content[_ngcontent-%COMP%] .metric-item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{color:var(--text-secondary);font-size:.9rem}.performance-content[_ngcontent-%COMP%] .eta-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%], .performance-content[_ngcontent-%COMP%] .metric-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{font-weight:600;font-variant-numeric:tabular-nums}.performance-content[_ngcontent-%COMP%] .eta-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%] .sub-text[_ngcontent-%COMP%], .performance-content[_ngcontent-%COMP%] .metric-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%] .sub-text[_ngcontent-%COMP%]{color:var(--text-secondary);font-weight:400;font-size:.85rem;margin-left:4px}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .toggle-btn[_ngcontent-%COMP%]{width:100%;margin-bottom:12px}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;gap:4px}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%] .transfer-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;font-size:.85rem}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%] .transfer-header[_ngcontent-%COMP%] .path[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:12px}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%] .transfer-header[_ngcontent-%COMP%] .speed[_ngcontent-%COMP%]{color:var(--text-secondary);font-variant-numeric:tabular-nums}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%] .mini-progress[_ngcontent-%COMP%]{height:4px}.logs-content[_ngcontent-%COMP%] app-logs-live[_ngcontent-%COMP%]{height:350px;display:block}.status-badge[_ngcontent-%COMP%]{padding:4px 12px;border-radius:12px;background:var(--bg-secondary);color:var(--text-secondary);font-size:.8rem;font-weight:500;text-transform:uppercase}.status-badge.running[_ngcontent-%COMP%]{background:rgba(var(--primary-rgb),.1);color:var(--primary-color)}.actions-grid[_ngcontent-%COMP%]{margin-top:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.actions-grid[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]{width:100%;justify-content:center}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 0;gap:32px}@media(min-width:768px){.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%]{flex-direction:row;text-align:left;justify-content:space-around;padding:48px 0}}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .status-visual[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .status-info[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:2rem;font-weight:700;margin-bottom:8px;color:var(--text-primary)}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .status-info[_ngcontent-%COMP%] .status-description[_ngcontent-%COMP%]{color:var(--text-secondary);font-size:1.1rem;max-width:300px}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .idle-actions[_ngcontent-%COMP%]{display:flex;align-items:center}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .idle-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding-left:32px;padding-right:32px}.complete-status[_ngcontent-%COMP%]{position:relative;width:120px;height:120px;display:flex;justify-content:center;align-items:center;color:var(--primary-color)}.complete-status[_ngcontent-%COMP%] .status-icon[_ngcontent-%COMP%]{font-size:48px;opacity:0;animation:_ngcontent-%COMP%_reveal-icon .2s linear forwards;animation-delay:1s}.border-svg[_ngcontent-%COMP%]{position:absolute;top:0;left:0;width:100%;height:100%}.border-circle[_ngcontent-%COMP%]{fill:none;stroke:var(--primary-color);stroke-width:5px;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}}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:12px 0}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%] .task-main[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:4px}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%] .task-main[_ngcontent-%COMP%] .task-name[_ngcontent-%COMP%]{font-size:1.2rem;font-weight:700;color:var(--primary-color)}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%] .task-main[_ngcontent-%COMP%] .task-time-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;color:var(--text-secondary);font-size:.95rem}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%] .chevron[_ngcontent-%COMP%]{color:var(--text-secondary);opacity:.5}.server-state-card[_ngcontent-%COMP%] .state-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px}.server-state-card[_ngcontent-%COMP%] .state-content[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-size:.75rem;text-transform:uppercase;color:var(--text-secondary);font-weight:600}.server-state-card[_ngcontent-%COMP%] .state-content[_ngcontent-%COMP%] .state-line[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px}.server-state-card[_ngcontent-%COMP%] .state-content[_ngcontent-%COMP%] .state-line[_ngcontent-%COMP%] .warning-text[_ngcontent-%COMP%]{font-size:.85rem;color:var(--error-color);font-weight:500}"],changeDetection:0})};export{J as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as q}from"./chunk-
|
|
1
|
+
import{g as q}from"./chunk-BLPTBPXV.js";import{a as K}from"./chunk-M5RTYP7N.js";import"./chunk-HHDCI6IF.js";import"./chunk-TZEOQBIX.js";import{b as Z}from"./chunk-U34FLIYL.js";import"./chunk-DFVPFPMV.js";import"./chunk-5L2OOKRZ.js";import"./chunk-OO32MPRQ.js";import"./chunk-OBF6ZSYT.js";import"./chunk-J5TWEZOP.js";import{b as V}from"./chunk-I625OICV.js";import"./chunk-XCVBN7EK.js";import"./chunk-6Q6SSTBK.js";import{a as j}from"./chunk-MRSBKQQM.js";import"./chunk-7FDLOZXV.js";import"./chunk-EQNDYV43.js";import"./chunk-35APLYI4.js";import"./chunk-LU7TIW3P.js";import"./chunk-YMUS7QSB.js";import"./chunk-ZXQSQRKN.js";import{b as H}from"./chunk-XZNYCTQB.js";import"./chunk-R6TFME5I.js";import"./chunk-AZRNX5LU.js";import{C as W,L as X,O as z,v as J}from"./chunk-NCXKMSRH.js";import{d as B}from"./chunk-QAQMMCTH.js";import{b as w}from"./chunk-KHZ5AXGT.js";import"./chunk-L2QOWZDR.js";import"./chunk-BRL4YYWO.js";import{ma as k}from"./chunk-BDQJFOCO.js";import"./chunk-FSHBOASN.js";import{$b as g,Cb as C,Db as i,Eb as s,Fb as c,Gc as T,Hc as d,Jb as P,Kb as m,Rc as b,Sa as a,Tb as y,Ub as D,Vb as r,Wb as v,Xb as x,_ as S,fa as u,ga as f,gb as A,nc as M,pa as I,qc as N,wb as O,xb as p}from"./chunk-UH2E7MMT.js";import"./chunk-7CGTOI24.js";function Q(n,t){n&1&&(i(0,"div",17),u(),i(1,"svg",19),c(2,"circle",20),s(),f(),i(3,"sh-icon",21),r(4,3),s()())}function U(n,t){n&1&&(i(0,"div",18),u(),i(1,"svg",19),c(2,"circle",20),s(),f(),i(3,"sh-icon",22),r(4,4),s()())}function Y(n,t){if(n&1&&(i(0,"sh-card",10),P(1,16),r(2,2),m(),O(3,Q,5,0,"div",17)(4,U,5,0,"div",18),s()),n&2){let e=g();a(3),p(e.restoreResult()=="success"?3:4)}}function ee(n,t){if(n&1&&(M(0),T(1,"number"),T(2,"number")),n&2){let e,o=g(2);N(" ",d(1,2,(e=o.statusData())==null?null:e.ProcessedFileCount)," of ",d(2,4,(e=o.statusData())==null?null:e.TotalFileCount)," ")}}function te(n,t){n&1&&(P(0),r(1,8),m())}function ne(n,t){if(n&1&&(M(0),T(1,"bytes"),T(2,"bytes")),n&2){let e,o=g(2);N(" ",d(1,2,(e=o.statusData())==null?null:e.ProcessedFileSize)," of ",d(2,4,(e=o.statusData())==null?null:e.TotalFileSize)," ")}}function oe(n,t){n&1&&(P(0),r(1,9),m())}function ie(n,t){if(n&1&&(i(0,"sh-card",10)(1,"h3"),y(2,5),c(3,"sh-spinner",23),D(),s(),i(4,"div",24),c(5,"sh-progress-bar",25),i(6,"p")(7,"span"),r(8,6),s(),O(9,ee,3,6)(10,te,2,0,"ng-container"),s(),i(11,"p")(12,"span"),r(13,7),s(),O(14,ne,3,6)(15,oe,2,0,"ng-container"),s()()()),n&2){let e,o,l,E,R=g();a(3),v((e=R.statusData())==null?null:e.statusText),x(2),a(2),C("value",(o=R.statusData())==null?null:o.OverallProgress),a(4),p((l=R.statusData())!=null&&l.ProcessedFileCount?9:10),a(5),p((E=R.statusData())!=null&&E.ProcessedFileSize?14:15)}}var G=class n{#i=S(B);#s=S(H);#t=S(V);#n=S(q);#r=S(w);statusData=this.#t.statusData;backupId=this.#n.backupId;restoreResult=I("");#e=null;lastRestoreStarted=b(()=>{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())??!1}};ngOnInit(){let t=this.#r.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.#s.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=A({type:n,selectors:[["app-restore-progress"]],decls:12,vars:5,consts:()=>{let t;t=$localize`Notifications`;let e;e=$localize`Logs`;let o;o=$localize`Restore completed`;let l;l=$localize`check-bold`;let E;E=$localize`warning-octagon`;let R;R=$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 $;return $=$localize`N/A`,[t,e,o,l,E,R,h,F,L,$,[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,o){if(e&1&&(i(0,"section"),O(1,Y,5,1,"sh-card",10)(2,ie,16,4,"sh-card",10),i(3,"sh-card",11)(4,"h3"),r(5,0),s(),i(6,"div",12),c(7,"app-notifications",13),s()(),i(8,"sh-card",14)(9,"h3"),r(10,1),s(),c(11,"app-logs-live",15),s()()),e&2){let l;a(),p(o.restoreResult()!=""?1:2),a(6),C("notificationFilterPredicate",o.notificationFilterPredicate()),a(4),C("polling",o.restoreResult()=="")("whenFilter",(l=o.lastRestoreStarted())==null?null:l.getTime())("backupIdFilter",o.backupId())}},dependencies:[K,X,z,J,W,Z,j,k],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}'],changeDetection:0})};export{G as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as q}from"./chunk-
|
|
1
|
+
import{a as q}from"./chunk-ZK3S23CJ.js";import"./chunk-GO22QPW4.js";import"./chunk-FMDSOHVR.js";import"./chunk-NBKLLQQO.js";import"./chunk-I625OICV.js";import{a as W}from"./chunk-XCVBN7EK.js";import"./chunk-ADB5QRUO.js";import"./chunk-22PELS6R.js";import"./chunk-6Q6SSTBK.js";import"./chunk-MRSBKQQM.js";import"./chunk-7FDLOZXV.js";import"./chunk-EQNDYV43.js";import"./chunk-35APLYI4.js";import"./chunk-LU7TIW3P.js";import"./chunk-YMUS7QSB.js";import"./chunk-ZXQSQRKN.js";import"./chunk-XZNYCTQB.js";import"./chunk-R6TFME5I.js";import"./chunk-AZRNX5LU.js";import{B as P,C as F,G as z,L as H,v as f}from"./chunk-NCXKMSRH.js";import{d as j}from"./chunk-QAQMMCTH.js";import{e as N}from"./chunk-KHZ5AXGT.js";import"./chunk-L2QOWZDR.js";import"./chunk-BRL4YYWO.js";import"./chunk-BDQJFOCO.js";import"./chunk-FSHBOASN.js";import{$b as g,Ab as x,Bb as w,Bc as O,Cb as S,Cc as X,Db as n,Eb as o,Fb as s,Sa as l,Tb as T,Ub as d,Vb as c,Wb as v,Xb as B,Zb as p,_ as u,gb as A,mb as y,nc as m,qc as J,tb as D,ub as G,wb as R,xb as C,yb as b}from"./chunk-UH2E7MMT.js";import"./chunk-7CGTOI24.js";var V=()=>[F,P,f,N],K=()=>["/restore-from-files"],Q=()=>["/restore/from-config"],U=t=>["/restore",t];function Y(t,i){if(t&1&&(n(0,"sh-card",10),p("keydown.enter",function(r){return r.target.click()})("keydown.space",function(r){return r.target.click()}),s(1,"img",16),n(2,"div",12)(3,"h3"),c(4,7),o(),n(5,"p"),m(6),o()(),n(7,"button",13),T(8,8),s(9,"sh-icon"),d(),o()()),t&2){let e=i.$implicit;S("routerLink",X(4,U,e.Backup.ID)),l(4),v(e.Backup.Name??"Backup name missing"),B(4),l(2),J(" ",(e.Backup.Metadata==null?null:e.Backup.Metadata.SourceSizeString)??"-"," / ",(e.Backup.Metadata==null?null:e.Backup.Metadata.BackupListCount)??"-"," ")}}function Z(t,i){if(t&1&&x(0,Y,10,6,"sh-card",15,b),t&2){let e=g(2);w(e.backups())}}function ee(t,i){if(t&1&&R(0,Z,2,0),t&2){let e=g();C(e.backups().length?0:-1)}}function te(t,i){t&1&&(n(0,"div",17),s(1,"sh-progress-bar",18),n(2,"div",12)(3,"h3"),c(4,9),o()()())}function ne(t,i){t&1&&(n(0,"sh-divider"),m(1,"Or without a local configuration"),o())}var M=class t{#e=u(W);#t=u(j);backups=this.#e.backups;backupsLoading=this.#e.backupsLoading;ngOnInit(){this.#e.getBackups(!0)}restoreNow(i){this.#t.postApiV1BackupByIdRestore({id:i.Backup?.ID,requestBody:{}})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=A({type:t,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 $;$=$localize`${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let k;k=$localize` Restore ${"\uFFFD#9\uFFFD"}:START_TAG_SH_ICON:arrow-right${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SH_ICON:`;let L;return L=$localize`Loading backups...`,[i,e,r,E,_,h,I,$,k,L,[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&&(s(0,"app-status-bar"),n(1,"section")(2,"h2"),c(3,0),o(),y(4,ee,1,1)(5,te,5,0),D(6,4,V,null,5),R(8,ne,2,0,"sh-divider"),n(9,"sh-card",10),p("keydown.enter",function(_){return _.target.click()})("keydown.space",function(_){return _.target.click()}),s(10,"img",11),n(11,"div",12)(12,"h3"),c(13,1),o(),n(14,"p"),c(15,2),o()(),n(16,"button",13),T(17,3),s(18,"sh-icon"),d(),o()(),n(19,"sh-card",10),p("keydown.enter",function(_){return _.target.click()})("keydown.space",function(_){return _.target.click()}),s(20,"img",14),n(21,"div",12)(22,"h3"),c(23,4),o(),n(24,"p"),c(25,5),o()(),n(26,"button",13),T(27,6),s(28,"sh-icon"),d(),o()()()),e&2&&(l(6),G(!r.backupsLoading()),l(2),C(r.backups().length?8:-1),l(),S("routerLink",O(4,K)),l(10),S("routerLink",O(5,Q)))},dependencies:[q,F,P,z,f,H,N],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}"],changeDetection:0})};export{M as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-7CGTOI24.js";var o=[{path:"",redirectTo:"select-files",pathMatch:"full"},{path:"destination",loadComponent:()=>import("./chunk-3IZWJV72.js")},{path:"encryption",loadComponent:()=>import("./chunk-IWDA6CMP.js")},{path:"select-files",loadComponent:()=>import("./chunk-UE37PPYX.js")},{path:"options",loadComponent:()=>import("./chunk-5REJ6F23.js")},{path:":taskid/progress",loadComponent:()=>import("./chunk-SGLY2D7Y.js")}],t=o;export{t as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as ne}from"./chunk-TZEOQBIX.js";import{p as ee}from"./chunk-
|
|
1
|
+
import{a as ne}from"./chunk-TZEOQBIX.js";import{p as ee}from"./chunk-DFVPFPMV.js";import"./chunk-5L2OOKRZ.js";import{d as Z}from"./chunk-OO32MPRQ.js";import"./chunk-OBF6ZSYT.js";import"./chunk-6Q6SSTBK.js";import"./chunk-7FDLOZXV.js";import"./chunk-EQNDYV43.js";import"./chunk-35APLYI4.js";import"./chunk-YMUS7QSB.js";import"./chunk-ZXQSQRKN.js";import"./chunk-XZNYCTQB.js";import"./chunk-R6TFME5I.js";import"./chunk-AZRNX5LU.js";import{B as j,H as Q,P as q,c as X,e as W,i as z,k as V,s as H,v as Y}from"./chunk-NCXKMSRH.js";import"./chunk-QAQMMCTH.js";import{b as U,d as J}from"./chunk-KHZ5AXGT.js";import"./chunk-L2QOWZDR.js";import"./chunk-BRL4YYWO.js";import"./chunk-BDQJFOCO.js";import"./chunk-FSHBOASN.js";import{$b as c,Bc as D,Cb as m,Db as i,Eb as a,Fb as P,Mb as g,Sa as p,Tb as N,Ub as E,Vb as l,Yc as K,Zb as f,_ as C,da as O,ea as S,gb as $,gc as v,hc as B,kc as x,pa as w,sc as d,tc as T,uc as u,wb as L,xb as G}from"./chunk-UH2E7MMT.js";import"./chunk-7CGTOI24.js";var te=["formRef"],ie=()=>["--skip-files-larger-than","encryption-module","no-encryption","--no-encryption","compression-module","--exclude-files-attributes","keep-time","keep-versions","retention-policy"];function oe(s,r){s&1&&(i(0,"p"),l(1,4),a())}function ae(s,r){if(s&1){let n=g();i(0,"p"),l(1,5),a(),i(2,"app-timespan",21),u("ngModelChange",function(o){O(n);let t=c();return T(t.optionsFields.backupRetentionTime,o)||(t.optionsFields.backupRetentionTime=o),S(o)}),i(3,"label",22),l(4,6),a()()}if(s&2){let n=c();p(2),m("customId","backupRetentionTime"),d("ngModel",n.optionsFields.backupRetentionTime)}}function se(s,r){if(s&1){let n=g();i(0,"p"),l(1,7),a(),i(2,"sh-form-field")(3,"label",23),l(4,8),a(),i(5,"input",24),u("ngModelChange",function(o){O(n);let t=c();return T(t.optionsFields.backupRetentionVersions,o)||(t.optionsFields.backupRetentionVersions=o),S(o)}),a()()}if(s&2){let n=c();p(5),d("ngModel",n.optionsFields.backupRetentionVersions)}}function _e(s,r){s&1&&(i(0,"p"),l(1,9),a())}function le(s,r){if(s&1){let n=g();i(0,"p"),l(1,10),a(),i(2,"sh-form-field")(3,"p"),l(4,11),a(),i(5,"label",25),l(6,12),a(),i(7,"input",26),u("ngModelChange",function(o){O(n);let t=c();return T(t.optionsFields.backupRetentionCustom,o)||(t.optionsFields.backupRetentionCustom=o),S(o)}),a()()}if(s&2){let n=c();p(7),d("ngModel",n.optionsFields.backupRetentionCustom)}}var re=[{value:"all",name:$localize`Keep all backups`},{value:"time",name:$localize`Delete backups that are older than`},{value:"versions",name:$localize`Keep a specific number of backups`},{value:"smart",name:$localize`Smart backup retention`},{value:"custom",name:$localize`Custom backup retention`}],h=class s{#e=C(ee);#n=C(J);#t=C(U);formRef=K.required("formRef");isSubmitting=this.#e.isSubmitting;settings=this.#e.settings;optionsFields=this.#e.optionsFields;applicationOptions=this.#e.applicationOptions;retentionOptions=w(re);goBack(){this.#n.navigate(["schedule"],{relativeTo:this.#t.parent})}submit(){switch(this.#e.validateBeforeSubmit()){case"general":this.#n.navigate(["general"],{relativeTo:this.#t.parent});return;case"destination":this.#n.navigate(["destination"],{relativeTo:this.#t.parent});return;case"source":this.#n.navigate(["source-data"],{relativeTo:this.#t.parent});return}this.#e.submit()}static \u0275fac=function(n){return new(n||s)};static \u0275cmp=$({type:s,selectors:[["app-advanced-options-settings"]],viewQuery:function(n,e){n&1&&v(e.formRef,te,5),n&2&&B()},decls:20,vars:12,consts:()=>{let r;r=$localize`Options`;let n;n=$localize`Backup retention`;let e;e=$localize`${"\uFFFD#16\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#16\uFFFD"}:CLOSE_TAG_SH_ICON: Go back `;let o;o=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SH_ICON:arrow-right${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SH_ICON: Submit `;let t;t=$localize`Nothing will be deleted. The backup size will grow with each change.`;let M;M=$localize`If at least one newer backup is found, all backups older than this date are deleted.`;let I;I=$localize`Time to keep versions`;let R;R=$localize`Once there are more backups than the specified number, the oldest backups are deleted.`;let b;b=$localize`Number of versions`;let A;A=$localize` Over time backups will be deleted automatically. There will remain one backup for each of the last 7 days, each of the last 4 weeks, each of the last 12 months. There will always be at least one remaining backup. `;let y;y=$localize` Enter a retention strategy manually. Placeholders are D/W/Y for days/weeks/years and U for unlimited. The syntax is: 7D:1D,4W:1W,36M:1M. This example keeps one backup for each of the next 7 days, one for each of the next 4 weeks, and one for each of the next 36 months. This can also be written as 1W:1D,1M:1W,3Y:1M. `;let k;k=$localize`Once there are more backups than the specified number, the oldest backups are deleted.`;let F;return F=$localize`Retention expression`,[r,n,e,o,t,M,I,R,b,A,y,k,F,[1,"title-30"],["value","value","label","name",3,"options","inlineSearch","isClearable"],["for","size"],["type","text",3,"ngModelChange","ngModel"],[3,"optionsChange","options","applicationOptions","hasFreeTextSettings","hiddenOptions"],[1,"form-actions"],["shButton","","type","button",3,"click"],["shButton","",1,"raised","primary",3,"click"],[3,"ngModelChange","customId","ngModel"],["for","backupRetentionTime"],["for","backupRetentionVersions"],["type","number","id","backupRetentionVersions",3,"ngModelChange","ngModel"],["for","backupRetentionCustom"],["type","text","id","backupRetentionCustom",3,"ngModelChange","ngModel"]]},template:function(n,e){n&1&&(i(0,"section")(1,"h3",13),l(2,0),a(),i(3,"sh-select",14)(4,"label",15),l(5,1),a(),i(6,"input",16),u("ngModelChange",function(t){return T(e.optionsFields.backupRetention,t)||(e.optionsFields.backupRetention=t),t}),a()(),L(7,oe,2,0,"p")(8,ae,5,2)(9,se,6,1)(10,_e,2,0,"p")(11,le,8,1),i(12,"app-options-list",17),u("optionsChange",function(t){return T(e.settings,t)||(e.settings=t),t}),a(),i(13,"div",18)(14,"button",19),f("click",function(){return e.goBack()}),N(15,2),P(16,"sh-icon"),E(),a(),i(17,"button",20),f("click",function(){return e.submit()}),N(18,3),P(19,"sh-icon"),E(),a()()()),n&2&&(p(3),m("options",e.retentionOptions())("inlineSearch",!0)("isClearable",!1),p(3),d("ngModel",e.optionsFields.backupRetention),p(),G(e.optionsFields.backupRetention()==="all"?7:e.optionsFields.backupRetention()==="time"?8:e.optionsFields.backupRetention()==="versions"?9:e.optionsFields.backupRetention()==="smart"?10:e.optionsFields.backupRetention()==="custom"?11:-1),p(5),d("options",e.settings),m("applicationOptions",e.applicationOptions())("hasFreeTextSettings",!0)("hiddenOptions",D(11,ie)),p(5),x("loading",e.isSubmitting()))},dependencies:[H,X,V,W,z,ne,Z,j,Y,q,Q],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:37.5rem;padding:2.5rem}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;padding-bottom:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.form-wrap[_ngcontent-%COMP%]{display:grid;grid-template-columns:2fr 2.5rem;gap:.5rem;align-items:flex-end}.remote-volume-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.remote-volume-wrap[_ngcontent-%COMP%] p.warning[_ngcontent-%COMP%]{color:#7d7d00}.row-inputs[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.advanced-option[_ngcontent-%COMP%]{display:grid;gap:.5rem;grid-template-columns:1fr 1fr 2.5rem;align-items:flex-end}sh-select[_ngcontent-%COMP%]{--miw: p2r(120)}"],changeDetection:0})};export{h as default};
|