@duplicati/ngclient 0.0.104 → 0.0.105
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/spk-bold.woff2 +0 -0
- package/chunk-2HUZWRPM.js +1 -0
- package/{chunk-73FGPZLT.js → chunk-2WMFHNHQ.js} +1 -1
- package/chunk-3MVGDMRL.js +1 -0
- package/{chunk-7NSKVKO7.js → chunk-47X3OGYT.js} +1 -1
- package/chunk-4LYA3XAH.js +1 -0
- package/chunk-4PUCRV6F.js +1 -0
- package/chunk-5H7QZHN7.js +2 -0
- package/{chunk-A6D4U7WJ.js → chunk-5LODOOQE.js} +1 -1
- package/{chunk-YC7JUCYS.js → chunk-5VR5J6BY.js} +1 -1
- package/{chunk-Y5T3G6PP.js → chunk-6DH6O5YE.js} +1 -1
- package/{chunk-D6ZBSPNI.js → chunk-6U42RKWI.js} +1 -1
- package/chunk-7EYE3BSS.js +1 -0
- package/{chunk-ARQ6YMHX.js → chunk-7L42EO7J.js} +1 -1
- package/chunk-7UQE266G.js +4 -0
- package/chunk-BEXTTKFK.js +1 -0
- package/chunk-CETM57LL.js +1 -0
- package/{chunk-2IDHF5MN.js → chunk-CKPICCFH.js} +1 -1
- package/{chunk-FQMZSQUI.js → chunk-DE4NDI5F.js} +1 -1
- package/chunk-E6VGAA7Q.js +1 -0
- package/{chunk-N35UIMLP.js → chunk-FROEBZRG.js} +1 -1
- package/{chunk-C4IFBLYB.js → chunk-FSGJ5KIH.js} +1 -1
- package/chunk-G432CCD5.js +1 -0
- package/chunk-GOTRUTIB.js +1 -0
- package/{chunk-NN546V2N.js → chunk-HN4MKGHV.js} +1 -1
- package/{chunk-NYZVIDDD.js → chunk-HTNYQE2B.js} +1 -1
- package/{chunk-PX25CWH6.js → chunk-I3C2AEHI.js} +1 -1
- package/{chunk-HPSQUH4S.js → chunk-IXM6PMZU.js} +1 -1
- package/chunk-J4KNSP44.js +1 -0
- package/{chunk-OP5UYIDM.js → chunk-JAYNAMCB.js} +1 -1
- package/{chunk-HFKG5ODC.js → chunk-JCXYUHPV.js} +1 -1
- package/chunk-JKOCS4GE.js +1 -0
- package/chunk-JLBV3QXT.js +1 -0
- package/{chunk-UKQTVYRS.js → chunk-JQPXZWKR.js} +1 -1
- package/chunk-KFU7HSAL.js +1 -0
- package/{chunk-UO57IKTF.js → chunk-KSP3JQHY.js} +1 -1
- package/{chunk-MIQEG35Y.js → chunk-L4CVN3UF.js} +1 -1
- package/chunk-LD2OSURG.js +1 -0
- package/chunk-M4YSJR2J.js +1 -0
- package/{chunk-TKVTCBLW.js → chunk-MZ473NLM.js} +1 -1
- package/{chunk-PE5C74CV.js → chunk-NF5EQK5W.js} +1 -1
- package/chunk-NTVLL6TO.js +1 -0
- package/{chunk-ZVBVR6H4.js → chunk-O2YN63YI.js} +1 -1
- package/chunk-O7DK2M4U.js +1 -0
- package/chunk-OUD6FSMZ.js +1 -0
- package/{chunk-TXZZ7EQH.js → chunk-P5KOELKA.js} +1 -1
- package/{chunk-OD5LGCQE.js → chunk-PFYOWXZZ.js} +1 -1
- package/{chunk-DYCJPQSE.js → chunk-PTDSOPNK.js} +1 -1
- package/chunk-QO6SPSAF.js +8 -0
- package/chunk-QVIZK4WW.js +1 -0
- package/{chunk-W2OVJAGT.js → chunk-QWIDEDE7.js} +1 -1
- package/{chunk-B7AEDFNS.js → chunk-RP6N6NQM.js} +1 -1
- package/{chunk-IYJFFIHQ.js → chunk-RVCYNHAQ.js} +1 -1
- package/chunk-SAVY3OEX.js +1 -0
- package/chunk-SHOSAHEC.js +1 -0
- package/chunk-SITZCHGF.js +1 -0
- package/{chunk-ON2SWJPL.js → chunk-SZ64OOBT.js} +1 -1
- package/{chunk-QTTYDT3P.js → chunk-T2OUHRUV.js} +1 -1
- package/{chunk-U34D3G4S.js → chunk-TPWSQH24.js} +1 -1
- package/chunk-TQGG56ZZ.js +1 -0
- package/{chunk-DHVICIXP.js → chunk-U2HORYSZ.js} +1 -1
- package/chunk-VAOJO535.js +1 -0
- package/{chunk-YRQ33MKD.js → chunk-VN7JM6M3.js} +1 -1
- package/{chunk-KEHATBLP.js → chunk-VOGYVLLM.js} +1 -1
- package/{chunk-GM25ACCR.js → chunk-W2F756OF.js} +4 -4
- package/{chunk-LU6KVNOT.js → chunk-W2VC37XO.js} +1 -1
- package/chunk-WHVFYB7T.js +1 -0
- package/{chunk-BIHIR35J.js → chunk-WMTA6PZM.js} +1 -1
- package/{chunk-4ZN3WNN5.js → chunk-WSFEYRKT.js} +1 -1
- package/{chunk-6WLXFV43.js → chunk-WX7L7V6J.js} +1 -1
- package/chunk-XG7KYN67.js +1 -0
- package/{chunk-OPC7T2MU.js → chunk-XJXOUOD5.js} +1 -1
- package/{chunk-K4BJJNFG.js → chunk-XY5EWT4P.js} +1 -1
- package/{chunk-R5DUA6AR.js → chunk-YDRXW35Y.js} +1 -1
- package/{chunk-A7ZTKXJV.js → chunk-YF5K7PNR.js} +1 -1
- package/{chunk-JKUJP6AX.js → chunk-YWCTOOED.js} +1 -1
- package/index.html +3 -3
- package/main-HT3PXURE.js +1 -0
- package/package.json +1 -1
- package/{polyfills-BZ5XXHZK.js → polyfills-6QHLTIIN.js} +1 -1
- package/{styles-CAXGLRRN.css → styles-V3SS5M3J.css} +1 -1
- package/chunk-2EOGI5U4.js +0 -8
- package/chunk-4B4SNBSE.js +0 -1
- package/chunk-4Q6ODNBP.js +0 -1
- package/chunk-7WCKE7GY.js +0 -1
- package/chunk-A7BKUGJT.js +0 -1
- package/chunk-ADU47UB6.js +0 -1
- package/chunk-BUACSH3J.js +0 -1
- package/chunk-CAPSN3YW.js +0 -8
- package/chunk-F76OHZKQ.js +0 -1
- package/chunk-GWH4FCBZ.js +0 -1
- package/chunk-HEPECSOH.js +0 -1
- package/chunk-K75H4GPN.js +0 -1
- package/chunk-KXHE37LY.js +0 -1
- package/chunk-N3QUTR5R.js +0 -1
- package/chunk-OELZQ6RK.js +0 -1
- package/chunk-ORNS7N6Q.js +0 -1
- package/chunk-P3QRASBZ.js +0 -1
- package/chunk-QBYHBPBT.js +0 -1
- package/chunk-TFIF6FCF.js +0 -1
- package/chunk-TRWFWG6W.js +0 -1
- package/chunk-UKJSH5XP.js +0 -1
- package/chunk-VJPUDP2T.js +0 -1
- package/chunk-VWN3PAXR.js +0 -1
- package/chunk-X7KD2725.js +0 -1
- package/chunk-YBGYY3E5.js +0 -1
- package/chunk-YCVMFFKU.js +0 -2
- package/chunk-YLYHFDOS.js +0 -1
- package/main-PBNHUSE5.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as K}from"./chunk-4LYA3XAH.js";import{a as H}from"./chunk-5H7QZHN7.js";import"./chunk-7EYE3BSS.js";import"./chunk-TQGG56ZZ.js";import"./chunk-VN7JM6M3.js";import"./chunk-HTNYQE2B.js";import"./chunk-SAVY3OEX.js";import{a as j}from"./chunk-LD2OSURG.js";import"./chunk-YWCTOOED.js";import"./chunk-7L42EO7J.js";import{a as B}from"./chunk-SZ64OOBT.js";import"./chunk-VOGYVLLM.js";import"./chunk-RHW5QVAY.js";import{a as b}from"./chunk-O2YN63YI.js";import"./chunk-T2OUHRUV.js";import"./chunk-FSGJ5KIH.js";import"./chunk-I3C2AEHI.js";import"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{a as w,h as W,p as X,s as z}from"./chunk-WX7L7V6J.js";import"./chunk-PTDSOPNK.js";import"./chunk-MZ473NLM.js";import{l as v}from"./chunk-CKPICCFH.js";import{$b as C,Ab as P,Ac as M,Bc as I,Gb as L,Hb as A,Ib as _,Jb as D,Kb as x,Nb as u,Qa as l,Y as T,ab as y,cc as f,fa as $,fb as g,ga as G,nb as O,pc as R,qc as E,sb as d,ua as h,wb as i,xb as s,yb as p,zb as m}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";function V(n,e){n&1&&(i(0,"spk-card",8),m(1,14),_(2,2),P(),i(3,"div",15),$(),i(4,"svg",16),p(5,"circle",17),s(),G(),i(6,"spk-icon"),C(7,"check-bold"),s()()())}function Z(n,e){if(n&1&&(C(0),R(1,"number"),R(2,"number")),n&2){let t,o=u(2);f(" ",E(1,2,(t=o.statusData())==null?null:t.ProcessedFileCount)," of ",E(2,4,(t=o.statusData())==null?null:t.TotalFileCount)," ")}}function q(n,e){n&1&&(m(0),_(1,6),P())}function J(n,e){if(n&1&&(C(0),R(1,"bytes"),R(2,"bytes")),n&2){let t,o=u(2);f(" ",E(1,2,(t=o.statusData())==null?null:t.ProcessedFileSize)," of ",E(2,4,(t=o.statusData())==null?null:t.TotalFileSize)," ")}}function Q(n,e){n&1&&(m(0),_(1,7),P())}function U(n,e){if(n&1&&(i(0,"spk-card",8)(1,"h3"),L(2,3),p(3,"spk-spinner",18),A(),s(),i(4,"div",19),p(5,"spk-progress-bar",20),i(6,"p")(7,"span"),_(8,4),s(),g(9,Z,3,6)(10,q,2,0,"ng-container"),s(),i(11,"p")(12,"span"),_(13,5),s(),g(14,J,3,6)(15,Q,2,0,"ng-container"),s()()()),n&2){let t,o,r,a,c=u();l(3),D((t=c.statusData())==null?null:t.statusText),x(2),l(2),O("value",(o=c.statusData())==null?null:o.OverallProgress),l(4),d((r=c.statusData())!=null&&r.ProcessedFileCount?9:10),l(5),d((a=c.statusData())!=null&&a.ProcessedFileSize?14:15)}}var F=class n{#e=T(B);#t=T(K);statusData=this.#e.statusData;backupId=this.#t.backupId;isPolling=h(!0);taskId=M(()=>this.#e.statusData()?.TaskID?.toString()??void 0);lastRestoreStarted=M(()=>{let e=this.#e.statusData()?.backup?.Backup?.Metadata?.LastRestoreStarted??null;return e?this.fixDate(e):null});completedEffect=I(()=>{this.statusData()?.task?.Status==="Completed"&&this.isPolling.set(!1)});notificationFilterPredicate=()=>{let e=this.lastRestoreStarted();return{predicate:t=>(t.BackupID===this.#t.backupId()&&e&&e.getTime()<=new Date(t.Timestamp).getTime())??!1}};ngOnInit(){this.#e.fetchProgressState(),this.#e.startPollingProgress()}fixDate(e){return new Date(`${e.slice(0,4)}-${e.slice(4,6)}-${e.slice(6,8)}T${e.slice(9,11)}:${e.slice(11,13)}:${e.slice(13,15)}Z`)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=y({type:n,selectors:[["app-restore-progress"]],decls:12,vars:6,consts:()=>{let e;e=$localize`Notifications`;let t;t=$localize`Logs`;let o;o=$localize`Restore completed`;let r;r=$localize` Restore progress: ${"\uFFFD0\uFFFD"}:INTERPOLATION: ${"\uFFFD#3\uFFFD"}:START_TAG_SPK_SPINNER:${"\uFFFD/#3\uFFFD"}:CLOSE_TAG_SPK_SPINNER:`;let a;a=$localize`Files processed:`;let c;c=$localize`Size processed:`;let N;N=$localize`N/A`;let k;return k=$localize`N/A`,[e,t,o,r,a,c,N,k,[1,"progress","type-a"],[1,"notifications","type-a"],[1,"notification-list"],[3,"notificationFilterPredicate"],[1,"logs","type-a"],[3,"asSimpleList","polling","whenFilter","backupIdFilter"],["title",""],[1,"complete-check"],[1,"border-svg"],["cx","50","cy","50","r","45",1,"border-circle"],[1,"primary"],[1,"progress-content"],[3,"value"]]},template:function(t,o){if(t&1&&(i(0,"section"),g(1,V,8,0,"spk-card",8)(2,U,16,4,"spk-card",8),i(3,"spk-card",9)(4,"h3"),_(5,0),s(),i(6,"div",10),p(7,"app-notifications",11),s()(),i(8,"spk-card",12)(9,"h3"),_(10,1),s(),p(11,"app-logs-live",13),s()()),t&2){let r,a;l(),d(((r=o.statusData())==null||r.task==null?null:r.task.Status)==="Completed"?1:2),l(6),O("notificationFilterPredicate",o.notificationFilterPredicate()),l(4),O("asSimpleList",!0)("polling",o.isPolling())("whenFilter",(a=o.lastRestoreStarted())==null?null:a.getTime())("backupIdFilter",o.backupId())}},dependencies:[H,X,z,w,W,j,b,v],styles:['[_nghost-%COMP%]{display:block;padding:0 1.25rem}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%] spk-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-check[_ngcontent-%COMP%]{position:relative;width:100px;height:100px;display:flex;justify-content:center;align-items:center;color:var(--success-500)}.complete-check[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{font-size:2.5rem;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(--success-500);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}}.progress-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.progress-content[_ngcontent-%COMP%] spk-progress-bar[_ngcontent-%COMP%]{margin-bottom:.75rem}.progress-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{margin-right:.25rem}'],changeDetection:0})};export{F as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"./chunk-FROEBZRG.js";import"./chunk-6DH6O5YE.js";import"./chunk-TQGG56ZZ.js";import"./chunk-SAVY3OEX.js";import"./chunk-T2OUHRUV.js";import"./chunk-WX7L7V6J.js";import"./chunk-PTDSOPNK.js";import"./chunk-MZ473NLM.js";import"./chunk-CKPICCFH.js";import"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";export{a as OptionsListComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as U}from"./chunk-
|
|
1
|
+
import{a as U}from"./chunk-VOGYVLLM.js";import{a as W}from"./chunk-O2YN63YI.js";import{a as x,c as j}from"./chunk-FSGJ5KIH.js";import{e as m}from"./chunk-WX7L7V6J.js";import{b as S,c as G}from"./chunk-PTDSOPNK.js";import{l as L}from"./chunk-CKPICCFH.js";import{Ac as p,Bc as d,F as $,Gb as B,Hb as N,Ib as z,Jb as w,Kb as A,N as b,O as I,Qa as y,S as r,Y as s,ab as E,i as D,n as F,pc as M,r as R,rc as V,ua as n,wb as T,xb as v,yb as O}from"./chunk-W2F756OF.js";import{a as f,b as h}from"./chunk-7CGTOI24.js";var l=class i{reconnectTimer=n(15e3);countdown=n(0);connectTimerEffect=d(()=>{let e=this.reconnectTimer();this.countdown.set(e/1e3)});interval=setInterval(()=>{if(this.countdown()<=1){this.countdown.set(this.reconnectTimer()/1e3);return}this.countdown.set(this.countdown()-1)},1e3);ngOnDestroy(){clearInterval(this.interval)}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=E({type:i,selectors:[["app-disconnected-dialog"]],decls:8,vars:4,consts:()=>{let e;e=$localize`Reconnecting...`;let t;return t=$localize` The connection to the server is lost, attempting again in ${"\uFFFD#6\uFFFD"}:START_TAG_STRONG:0:${"\uFFFD0\uFFFD"}:INTERPOLATION:${"\uFFFD/#6\uFFFD"}:CLOSE_TAG_STRONG:`,[e,t,["header",""],["content",""]]},template:function(t,o){t&1&&(T(0,"header",2)(1,"h3"),z(2,0),v()(),T(3,"div",3)(4,"p"),B(5,1),O(6,"strong"),M(7,"number"),N(),v()()),t&2&&(y(7),w(V(7,1,o.countdown(),"2.0-0")),A(5))},dependencies:[L],styles:["[_nghost-%COMP%]{display:block;padding:1rem}"],changeDetection:0})};var C=class i{dialog=s(m);#i=s(S);#e=n("disconnected");#t=n(null);#s=n(-1);#o=n(0);#n=n(!1);#r=new D;connectionStatus=this.#e.asReadonly();serverState=this.#t.asReadonly();#a=void 0;duration=s(x).relayIsEnabled()?"94s":"299s";start(){this.#n.set(!0),this.#r=new D,this.#c()}stop(){this.#r.next(),this.#r.complete(),this.#n.set(!1)}reconnect(){this.stop(),this.start()}reconnectIfNeeded(){console.log("reconnectIfNeeded"),!this.#n()&&this.reconnect()}#c(){this.#e.set("connecting"),this.#i.getApiV1Serverstate({lastEventId:this.#s(),longpoll:this.#s()>0,duration:this.duration}).pipe(I(this.#r)).subscribe({next:e=>{e&&this.#l(e),this.#p()},error:e=>{let o=this.#o()+1,c=Math.min(5e3*o,3e4);this.#o.set(o),o>3&&this.#e.set("disconnected"),this.#a||(this.#a=this.dialog.open(l,{closeOnButton:!1,closeOnEsc:!1,closeOnOutsideClick:!1})),this.#a.component.reconnectTimer.set(c),setTimeout(()=>{this.#c()},c)}})}#l(e){this.#e.set("connected"),this.#t.set(e),this.#s.set(e.LastEventID||-1),this.#o.set(0)}#p(){this.#n()&&this.#c()}static \u0275fac=function(t){return new(t||i)};static \u0275prov=r({token:i,factory:i.\u0275fac,providedIn:"root"})};var _=class i{#i=s(j);dialog=s(m);#e=null;#t=n("disconnected");#s=n(null);#o=void 0;shouldConnect=n(!0);connectionStatus=this.#t.asReadonly();serverState=this.#s.asReadonly();start(){this.#n(),this.shouldConnect.set(!0)}#n(){let e=this.#i.token();if(!e){console.error("No access token available");return}let t=window.location.protocol==="https:"?"wss:":"ws:",o=window.location.port?`:${window.location.port}`:"";window.location.port==="4200"&&(o=":8200");let c=window.location.hostname,u=`${t}//${c}${o}/notifications?token=${e}`;this.#t.set("connecting"),this.#e=new WebSocket(u),this.#e.onopen=()=>{console.log("WebSocket connection established"),this.#t.set("connected"),this.#o&&this.#o.close()},this.#e.onmessage=a=>{try{let g=JSON.parse(a.data);this.#s.set(g)}catch(g){console.error("Error parsing WebSocket message",g)}},this.#e.onclose=a=>{console.log("WebSocket connection closed",a),this.#t.set("disconnected"),this.shouldConnect()&&(this.#o||(this.#o=this.dialog.open(l,{closeOnButton:!1,closeOnEsc:!1,closeOnOutsideClick:!1}),this.#o.component.reconnectTimer.set(15e3)),setTimeout(()=>this.#n(),5e3))},this.#e.onerror=a=>{console.error("WebSocket error",a),this.#t.set("disconnected")}}stop(){this.shouldConnect.set(!1),this.#e?.close()}reconnect(){this.#e?.close(),this.start()}reconnectIfNeeded(){this.#e?.readyState!==WebSocket.OPEN&&this.reconnect()}static \u0275fac=function(t){return new(t||i)};static \u0275prov=r({token:i,factory:i.\u0275fac,providedIn:"root"})};var P=class i{#i=s(_);#e=s(C);#t=n("longpoll");connectionStatus=p(()=>this.#t()==="websocket"?this.#i.connectionStatus():this.#e.connectionStatus());serverState=p(()=>this.#t()==="websocket"?this.#i.serverState():this.#e.serverState());setConnectionMethod(e){e==="websocket"?(this.#i.reconnectIfNeeded(),this.#e.stop()):(this.#e.reconnectIfNeeded(),this.#i.stop()),this.#t.set(e)}getConnectionMethod(){return this.#t()}static \u0275fac=function(t){return new(t||i)};static \u0275prov=r({token:i,factory:i.\u0275fac,providedIn:"root"})};var J={Backup_Begin:$localize`Starting backup …`,Backup_PreBackupVerify:$localize`Verifying backend data …`,Backup_PostBackupTest:$localize`Verifying remote data …`,Backup_PreviousBackupFinalize:$localize`Completing previous backup …`,Backup_ProcessingFiles:$localize`Processing files to backup …`,Backup_Finalize:$localize`Completing backup …`,Backup_WaitForUpload:$localize`Waiting for upload to finish …`,Backup_Delete:$localize`Deleting unwanted files …`,Backup_Compact:$localize`Compacting remote data …`,Backup_VerificationUpload:$localize`Uploading verification file …`,Backup_PostBackupVerify:$localize`Verifying backend data …`,Backup_Complete:$localize`Backup complete!`,Restore_Begin:$localize`Starting restore …`,Restore_RecreateDatabase:$localize`Rebuilding local database …`,Restore_PreRestoreVerify:$localize`Verifying remote data …`,Restore_CreateFileList:$localize`Building list of files to restore …`,Restore_CreateTargetFolders:$localize`Creating target folders …`,Restore_ScanForExistingFiles:$localize`Scanning existing files …`,Restore_ScanForLocalBlocks:$localize`Scanning for local blocks …`,Restore_PatchWithLocalBlocks:$localize`Patching files with local blocks …`,Restore_DownloadingRemoteFiles:$localize`Downloading files …`,Restore_PostRestoreVerify:$localize`Verifying restored files …`,Restore_Complete:$localize`Restore complete!`,Recreate_Running:$localize`Recreating database …`,Vacuum_Running:$localize`Vacuuming database …`,Repair_Running:$localize`Repairing database …`,Verify_Running:$localize`Verifying files …`,BugReport_Running:$localize`Creating bug report …`,Delete_Listing:$localize`Listing remote files …`,Delete_Deleting:$localize`Deleting remote files …`,"PurgeFiles_Begin,":$localize`Listing remote files for purge …`,"PurgeFiles_Process,":$localize`Purging files …`,"PurgeFiles_Compact,":$localize`Compacting remote data …`,"PurgeFiles_Complete,":$localize`Purging files complete!`,Error:$localize`Error!`},X=class i{#i=s(W);#e=s(G);#t=s(S);#s=s(U);#o=s(P);#n=n(!1);#r=n(null);statusData=this.#r.asReadonly();lastState=null;serverState=p(()=>{let e=this.#o.serverState();return e?(e.ProposedSchedule=e.ProposedSchedule?.map(t=>h(f({},t),{backup:t.Item1?this.#s.getBackupById(t.Item1):null})),this.lastState=e,e):this.lastState});serverStateEffect=d(()=>{this.#o.serverState()?.ActiveTask||this.#s.getBackups(!0)});isFetching=this.#n.asReadonly();connectionStatus=this.#o.connectionStatus;pollingInterval;#a=d(()=>{let e=this.#o.serverState();e?.ActiveTask&&this.pollingInterval===void 0?this.startPollingProgress():e?.ActiveTask||this.stopPollingProgress()});setConnectionMethod(e){this.#o.setConnectionMethod(e)}startPollingProgress(){this.pollingInterval=setInterval(()=>{this.#c()},1e3)}stopPollingProgress(){clearInterval(this.pollingInterval)}fetchProgressState(){this.#c()}#c(){this.#n.set(!0),this.#e.getApiV1Progressstate().pipe(b(e=>{let t=e.TaskID??null;return t===null?F(e):this.#t.getApiV1TaskByTaskid({taskid:t}).pipe(R(o=>h(f({},e),{task:o??null})))}),$(()=>this.#n.set(!1))).subscribe({next:e=>{let t=e.TaskID??null,o=e.BackupID??null;t!==null&&o!==null&&(e.backup=this.#s.getBackupById(o)),console.log("res",e),this.#r.set(h(f({},e),{progress:this.#l(e),statusText:this.#p(e),actionText:e.backup?.Backup?.Name??$localize`Running task`})),e.task?.Status==="Completed"&&this.stopPollingProgress()},error:e=>{e.status===404&&this.stopPollingProgress()}})}#l(e){let t=-1;if(e.task&&e)if(e.Phase==="Backup_ProcessingFiles"||e.Phase==="Restore_DownloadingRemoteFiles")if(e.StillCounting)t=0;else{let o=e.CurrentFilecomplete?0:e.CurrentFileoffset,c=e.TotalFileCount-e.ProcessedFileCount,u=e.TotalFileSize-e.ProcessedFileSize-o;t=(e.ProcessedFileSize+o)/e.TotalFileSize,e.ProcessedFileCount===0?t=0:t>=.9&&(t=.9)}else e.Phase==="Backup_Finalize"||e.Phase==="Backup_WaitForUpload"?t=.9:e.Phase==="Backup_Delete"||e.Phase==="Backup_Compact"?t=.95:e.Phase==="Backup_VerificationUpload"||e.Phase==="Backup_PostBackupVerify"?t=.98:e.Phase==="Backup_Complete"||e.Phase==="Backup_WaitForUpload"?t=1:e.OverallProgress>0&&(t=e.OverallProgress);return t}#p(e){let t="Running \u2026";if(e.task&&e&&(t=e.Phase?J[e.Phase]:"Running \u2026",e.Phase==="Backup_ProcessingFiles"||e.Phase==="Restore_DownloadingRemoteFiles"))if(e.StillCounting)t=`Counting (${e.TotalFileCount} files found, ${this.#i.transform(e.TotalFileSize)})`;else{let o=e.CurrentFilecomplete?0:e.CurrentFileoffset,c=e.TotalFileCount-e.ProcessedFileCount,u=e.TotalFileSize-e.ProcessedFileSize-o,a=e.BackendSpeed<0?"":` at ${this.#i.transform(e.BackendSpeed)}/s`;t=`${e.Phase==="Restore_DownloadingRemoteFiles"?"Restoring: ":""}${c} files (${this.#i.transform(u)}) to go ${a}`}return t}static \u0275fac=function(t){return new(t||i)};static \u0275prov=r({token:i,factory:i.\u0275fac,providedIn:"root"})};export{X as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as re}from"./chunk-2IDHF5MN.js";import{$a as L,Kb as V,P as T,Q as h,R as ne,S as B,Sa as H,Ta as o,U as y,X as De,ab as l,ba as I,cb as u,fa as D,fb as Ae,ha as be,i as ve,ic as f,ka as C,m as ye,nb as ie,qa as U,r as Ce,sa as S,uc as Me,wc as Ee,x as Ve,xc as m,yc as N}from"./chunk-GM25ACCR.js";import{a as d,b as g}from"./chunk-7CGTOI24.js";var ke=(()=>{class n{_renderer;_elementRef;onChange=e=>{};onTouched=()=>{};constructor(e,i){this._renderer=e,this._elementRef=i}setProperty(e,i){this._renderer.setProperty(this._elementRef.nativeElement,e,i)}registerOnTouched(e){this.onTouched=e}registerOnChange(e){this.onChange=e}setDisabledState(e){this.setProperty("disabled",e)}static \u0275fac=function(i){return new(i||n)(o(H),o(U))};static \u0275dir=l({type:n})}return n})(),G=(()=>{class n extends ke{static \u0275fac=(()=>{let e;return function(r){return(e||(e=D(n)))(r||n)}})();static \u0275dir=l({type:n,features:[u]})}return n})(),v=new y(""),rt={provide:v,useExisting:h(()=>st),multi:!0},st=(()=>{class n extends G{writeValue(e){this.setProperty("checked",e)}static \u0275fac=(()=>{let e;return function(r){return(e||(e=D(n)))(r||n)}})();static \u0275dir=l({type:n,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(i,r){i&1&&V("change",function(a){return r.onChange(a.target.checked)})("blur",function(){return r.onTouched()})},standalone:!1,features:[f([rt]),u]})}return n})(),ot={provide:v,useExisting:h(()=>Re),multi:!0};function at(){let n=re()?re().getUserAgent():"";return/android (\d+)/.test(n.toLowerCase())}var lt=new y(""),Re=(()=>{class n extends ke{_compositionMode;_composing=!1;constructor(e,i,r){super(e,i),this._compositionMode=r,this._compositionMode==null&&(this._compositionMode=!at())}writeValue(e){let i=e??"";this.setProperty("value",i)}_handleInput(e){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(e)}_compositionStart(){this._composing=!0}_compositionEnd(e){this._composing=!1,this._compositionMode&&this.onChange(e)}static \u0275fac=function(i){return new(i||n)(o(H),o(U),o(lt,8))};static \u0275dir=l({type:n,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(i,r){i&1&&V("input",function(a){return r._handleInput(a.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(a){return r._compositionEnd(a.target.value)})},standalone:!1,features:[f([ot]),u]})}return n})();function de(n){return n==null||ce(n)===0}function ce(n){return n==null?null:Array.isArray(n)||typeof n=="string"?n.length:n instanceof Set?n.size:null}var E=new y(""),F=new y(""),ut=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,Fe=class{static min(t){return dt(t)}static max(t){return ct(t)}static required(t){return ht(t)}static requiredTrue(t){return ft(t)}static email(t){return gt(t)}static minLength(t){return pt(t)}static maxLength(t){return mt(t)}static pattern(t){return _t(t)}static nullValidator(t){return Ge(t)}static compose(t){return Le(t)}static composeAsync(t){return We(t)}};function dt(n){return t=>{if(t.value==null||n==null)return null;let e=parseFloat(t.value);return!isNaN(e)&&e<n?{min:{min:n,actual:t.value}}:null}}function ct(n){return t=>{if(t.value==null||n==null)return null;let e=parseFloat(t.value);return!isNaN(e)&&e>n?{max:{max:n,actual:t.value}}:null}}function ht(n){return de(n.value)?{required:!0}:null}function ft(n){return n.value===!0?null:{required:!0}}function gt(n){return de(n.value)||ut.test(n.value)?null:{email:!0}}function pt(n){return t=>{let e=t.value?.length??ce(t.value);return e===null||e===0?null:e<n?{minlength:{requiredLength:n,actualLength:e}}:null}}function mt(n){return t=>{let e=t.value?.length??ce(t.value);return e!==null&&e>n?{maxlength:{requiredLength:n,actualLength:e}}:null}}function _t(n){if(!n)return Ge;let t,e;return typeof n=="string"?(e="",n.charAt(0)!=="^"&&(e+="^"),e+=n,n.charAt(n.length-1)!=="$"&&(e+="$"),t=new RegExp(e)):(e=n.toString(),t=n),i=>{if(de(i.value))return null;let r=i.value;return t.test(r)?null:{pattern:{requiredPattern:e,actualValue:r}}}}function Ge(n){return null}function je(n){return n!=null}function Te(n){return Ae(n)?ye(n):n}function Be(n){let t={};return n.forEach(e=>{t=e!=null?d(d({},t),e):t}),Object.keys(t).length===0?null:t}function Ue(n,t){return t.map(e=>e(n))}function vt(n){return!n.validate}function He(n){return n.map(t=>vt(t)?t:e=>t.validate(e))}function Le(n){if(!n)return null;let t=n.filter(je);return t.length==0?null:function(e){return Be(Ue(e,t))}}function $e(n){return n!=null?Le(He(n)):null}function We(n){if(!n)return null;let t=n.filter(je);return t.length==0?null:function(e){let i=Ue(e,t).map(Te);return Ve(i).pipe(Ce(Be))}}function qe(n){return n!=null?We(He(n)):null}function we(n,t){return n===null?[t]:Array.isArray(n)?[...n,t]:[n,t]}function ze(n){return n._rawValidators}function Ze(n){return n._rawAsyncValidators}function se(n){return n?Array.isArray(n)?n:[n]:[]}function W(n,t){return Array.isArray(n)?n.includes(t):n===t}function Ie(n,t){let e=se(t);return se(n).forEach(r=>{W(e,r)||e.push(r)}),e}function Se(n,t){return se(t).filter(e=>!W(n,e))}var q=class{get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators=[];_rawAsyncValidators=[];_setValidators(t){this._rawValidators=t||[],this._composedValidatorFn=$e(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=qe(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_onDestroyCallbacks=[];_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t=void 0){this.control&&this.control.reset(t)}hasError(t,e){return this.control?this.control.hasError(t,e):!1}getError(t,e){return this.control?this.control.getError(t,e):null}},c=class extends q{name;get formDirective(){return null}get path(){return null}},p=class extends q{_parent=null;name=null;valueAccessor=null},z=class{_cd;constructor(t){this._cd=t}get isTouched(){return this._cd?.control?._touched?.(),!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return this._cd?.control?._pristine?.(),!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return this._cd?.control?._status?.(),!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return this._cd?._submitted?.(),!!this._cd?.submitted}},yt={"[class.ng-untouched]":"isUntouched","[class.ng-touched]":"isTouched","[class.ng-pristine]":"isPristine","[class.ng-dirty]":"isDirty","[class.ng-valid]":"isValid","[class.ng-invalid]":"isInvalid","[class.ng-pending]":"isPending"},gn=g(d({},yt),{"[class.ng-submitted]":"isSubmitted"}),pn=(()=>{class n extends z{constructor(e){super(e)}static \u0275fac=function(i){return new(i||n)(o(p,2))};static \u0275dir=l({type:n,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(i,r){i&2&&ie("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)},standalone:!1,features:[u]})}return n})(),mn=(()=>{class n extends z{constructor(e){super(e)}static \u0275fac=function(i){return new(i||n)(o(c,10))};static \u0275dir=l({type:n,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(i,r){i&2&&ie("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)("ng-submitted",r.isSubmitted)},standalone:!1,features:[u]})}return n})();var O="VALID",$="INVALID",b="PENDING",x="DISABLED",_=class{},Z=class extends _{value;source;constructor(t,e){super(),this.value=t,this.source=e}},P=class extends _{pristine;source;constructor(t,e){super(),this.pristine=t,this.source=e}},k=class extends _{touched;source;constructor(t,e){super(),this.touched=t,this.source=e}},A=class extends _{status;source;constructor(t,e){super(),this.status=t,this.source=e}},oe=class extends _{source;constructor(t){super(),this.source=t}},ae=class extends _{source;constructor(t){super(),this.source=t}};function he(n){return(ee(n)?n.validators:n)||null}function Ct(n){return Array.isArray(n)?$e(n):n||null}function fe(n,t){return(ee(t)?t.asyncValidators:n)||null}function Vt(n){return Array.isArray(n)?qe(n):n||null}function ee(n){return n!=null&&!Array.isArray(n)&&typeof n=="object"}function Xe(n,t,e){let i=n.controls;if(!(t?Object.keys(i):i).length)throw new T(1e3,"");if(!i[e])throw new T(1001,"")}function Ye(n,t,e){n._forEachChild((i,r)=>{if(e[r]===void 0)throw new T(1002,"")})}var M=class{_pendingDirty=!1;_hasOwnPendingAsyncValidator=null;_pendingTouched=!1;_onCollectionChange=()=>{};_updateOn;_parent=null;_asyncValidationSubscription;_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators;_rawAsyncValidators;value;constructor(t,e){this._assignValidators(t),this._assignAsyncValidators(e)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get status(){return m(this.statusReactive)}set status(t){m(()=>this.statusReactive.set(t))}_status=N(()=>this.statusReactive());statusReactive=S(void 0);get valid(){return this.status===O}get invalid(){return this.status===$}get pending(){return this.status==b}get disabled(){return this.status===x}get enabled(){return this.status!==x}errors;get pristine(){return m(this.pristineReactive)}set pristine(t){m(()=>this.pristineReactive.set(t))}_pristine=N(()=>this.pristineReactive());pristineReactive=S(!0);get dirty(){return!this.pristine}get touched(){return m(this.touchedReactive)}set touched(t){m(()=>this.touchedReactive.set(t))}_touched=N(()=>this.touchedReactive());touchedReactive=S(!1);get untouched(){return!this.touched}_events=new ve;events=this._events.asObservable();valueChanges;statusChanges;get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(Ie(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(Ie(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(Se(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(Se(t,this._rawAsyncValidators))}hasValidator(t){return W(this._rawValidators,t)}hasAsyncValidator(t){return W(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){let e=this.touched===!1;this.touched=!0;let i=t.sourceControl??this;this._parent&&!t.onlySelf&&this._parent.markAsTouched(g(d({},t),{sourceControl:i})),e&&t.emitEvent!==!1&&this._events.next(new k(!0,i))}markAllAsTouched(t={}){this.markAsTouched({onlySelf:!0,emitEvent:t.emitEvent,sourceControl:this}),this._forEachChild(e=>e.markAllAsTouched(t))}markAsUntouched(t={}){let e=this.touched===!0;this.touched=!1,this._pendingTouched=!1;let i=t.sourceControl??this;this._forEachChild(r=>{r.markAsUntouched({onlySelf:!0,emitEvent:t.emitEvent,sourceControl:i})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t,i),e&&t.emitEvent!==!1&&this._events.next(new k(!1,i))}markAsDirty(t={}){let e=this.pristine===!0;this.pristine=!1;let i=t.sourceControl??this;this._parent&&!t.onlySelf&&this._parent.markAsDirty(g(d({},t),{sourceControl:i})),e&&t.emitEvent!==!1&&this._events.next(new P(!1,i))}markAsPristine(t={}){let e=this.pristine===!1;this.pristine=!0,this._pendingDirty=!1;let i=t.sourceControl??this;this._forEachChild(r=>{r.markAsPristine({onlySelf:!0,emitEvent:t.emitEvent})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t,i),e&&t.emitEvent!==!1&&this._events.next(new P(!0,i))}markAsPending(t={}){this.status=b;let e=t.sourceControl??this;t.emitEvent!==!1&&(this._events.next(new A(this.status,e)),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.markAsPending(g(d({},t),{sourceControl:e}))}disable(t={}){let e=this._parentMarkedDirty(t.onlySelf);this.status=x,this.errors=null,this._forEachChild(r=>{r.disable(g(d({},t),{onlySelf:!0}))}),this._updateValue();let i=t.sourceControl??this;t.emitEvent!==!1&&(this._events.next(new Z(this.value,i)),this._events.next(new A(this.status,i)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(g(d({},t),{skipPristineCheck:e}),this),this._onDisabledChange.forEach(r=>r(!0))}enable(t={}){let e=this._parentMarkedDirty(t.onlySelf);this.status=O,this._forEachChild(i=>{i.enable(g(d({},t),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(g(d({},t),{skipPristineCheck:e}),this),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(t,e){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine({},e),this._parent._updateTouched({},e))}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){if(this._setInitialStatus(),this._updateValue(),this.enabled){let i=this._cancelExistingSubscription();this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===O||this.status===b)&&this._runAsyncValidator(i,t.emitEvent)}let e=t.sourceControl??this;t.emitEvent!==!1&&(this._events.next(new Z(this.value,e)),this._events.next(new A(this.status,e)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(g(d({},t),{sourceControl:e}))}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?x:O}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t,e){if(this.asyncValidator){this.status=b,this._hasOwnPendingAsyncValidator={emitEvent:e!==!1};let i=Te(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(r=>{this._hasOwnPendingAsyncValidator=null,this.setErrors(r,{emitEvent:e,shouldHaveEmitted:t})})}}_cancelExistingSubscription(){if(this._asyncValidationSubscription){this._asyncValidationSubscription.unsubscribe();let t=this._hasOwnPendingAsyncValidator?.emitEvent??!1;return this._hasOwnPendingAsyncValidator=null,t}return!1}setErrors(t,e={}){this.errors=t,this._updateControlsErrors(e.emitEvent!==!1,this,e.shouldHaveEmitted)}get(t){let e=t;return e==null||(Array.isArray(e)||(e=e.split(".")),e.length===0)?null:e.reduce((i,r)=>i&&i._find(r),this)}getError(t,e){let i=e?this.get(e):this;return i&&i.errors?i.errors[t]:null}hasError(t,e){return!!this.getError(t,e)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t,e,i){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),(t||i)&&this._events.next(new A(this.status,e)),this._parent&&this._parent._updateControlsErrors(t,e,i)}_initObservables(){this.valueChanges=new C,this.statusChanges=new C}_calculateStatus(){return this._allControlsDisabled()?x:this.errors?$:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(b)?b:this._anyControlsHaveStatus($)?$:O}_anyControlsHaveStatus(t){return this._anyControls(e=>e.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t,e){let i=!this._anyControlsDirty(),r=this.pristine!==i;this.pristine=i,this._parent&&!t.onlySelf&&this._parent._updatePristine(t,e),r&&this._events.next(new P(this.pristine,e))}_updateTouched(t={},e){this.touched=this._anyControlsTouched(),this._events.next(new k(this.touched,e)),this._parent&&!t.onlySelf&&this._parent._updateTouched(t,e)}_onDisabledChange=[];_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){ee(t)&&t.updateOn!=null&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){let e=this._parent&&this._parent.dirty;return!t&&!!e&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=Ct(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=Vt(this._rawAsyncValidators)}},X=class extends M{constructor(t,e,i){super(he(e),fe(i,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}controls;registerControl(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(t,e,i={}){this.registerControl(t,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(t,e,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,e={}){Ye(this,!0,t),Object.keys(t).forEach(i=>{Xe(this,!0,i),this.controls[i].setValue(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){t!=null&&(Object.keys(t).forEach(i=>{let r=this.controls[i];r&&r.patchValue(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t={},e={}){this._forEachChild((i,r)=>{i.reset(t?t[r]:null,{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e,this),this._updateTouched(e,this),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(t,e,i)=>(t[i]=e.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(e,i)=>i._syncPendingControls()?!0:e);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(e=>{let i=this.controls[e];i&&t(i,e)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(let[e,i]of Object.entries(this.controls))if(this.contains(e)&&t(i))return!0;return!1}_reduceValue(){let t={};return this._reduceChildren(t,(e,i,r)=>((i.enabled||this.disabled)&&(e[r]=i.value),e))}_reduceChildren(t,e){let i=t;return this._forEachChild((r,s)=>{i=e(i,r,s)}),i}_allControlsDisabled(){for(let t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}};var le=class extends X{};var w=new y("",{providedIn:"root",factory:()=>j}),j="always";function te(n,t){return[...t.path,n]}function Y(n,t,e=j){ge(n,t),t.valueAccessor.writeValue(n.value),(n.disabled||e==="always")&&t.valueAccessor.setDisabledState?.(n.disabled),bt(n,t),Mt(n,t),At(n,t),Dt(n,t)}function K(n,t,e=!0){let i=()=>{};t.valueAccessor&&(t.valueAccessor.registerOnChange(i),t.valueAccessor.registerOnTouched(i)),Q(n,t),n&&(t._invokeOnDestroyCallbacks(),n._registerOnCollectionChange(()=>{}))}function J(n,t){n.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(t)})}function Dt(n,t){if(t.valueAccessor.setDisabledState){let e=i=>{t.valueAccessor.setDisabledState(i)};n.registerOnDisabledChange(e),t._registerOnDestroy(()=>{n._unregisterOnDisabledChange(e)})}}function ge(n,t){let e=ze(n);t.validator!==null?n.setValidators(we(e,t.validator)):typeof e=="function"&&n.setValidators([e]);let i=Ze(n);t.asyncValidator!==null?n.setAsyncValidators(we(i,t.asyncValidator)):typeof i=="function"&&n.setAsyncValidators([i]);let r=()=>n.updateValueAndValidity();J(t._rawValidators,r),J(t._rawAsyncValidators,r)}function Q(n,t){let e=!1;if(n!==null){if(t.validator!==null){let r=ze(n);if(Array.isArray(r)&&r.length>0){let s=r.filter(a=>a!==t.validator);s.length!==r.length&&(e=!0,n.setValidators(s))}}if(t.asyncValidator!==null){let r=Ze(n);if(Array.isArray(r)&&r.length>0){let s=r.filter(a=>a!==t.asyncValidator);s.length!==r.length&&(e=!0,n.setAsyncValidators(s))}}}let i=()=>{};return J(t._rawValidators,i),J(t._rawAsyncValidators,i),e}function bt(n,t){t.valueAccessor.registerOnChange(e=>{n._pendingValue=e,n._pendingChange=!0,n._pendingDirty=!0,n.updateOn==="change"&&Ke(n,t)})}function At(n,t){t.valueAccessor.registerOnTouched(()=>{n._pendingTouched=!0,n.updateOn==="blur"&&n._pendingChange&&Ke(n,t),n.updateOn!=="submit"&&n.markAsTouched()})}function Ke(n,t){n._pendingDirty&&n.markAsDirty(),n.setValue(n._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(n._pendingValue),n._pendingChange=!1}function Mt(n,t){let e=(i,r)=>{t.valueAccessor.writeValue(i),r&&t.viewToModelUpdate(i)};n.registerOnChange(e),t._registerOnDestroy(()=>{n._unregisterOnChange(e)})}function Et(n,t){n==null,ge(n,t)}function Ft(n,t){return Q(n,t)}function pe(n,t){if(!n.hasOwnProperty("model"))return!1;let e=n.model;return e.isFirstChange()?!0:!Object.is(t,e.currentValue)}function wt(n){return Object.getPrototypeOf(n.constructor)===G}function It(n,t){n._syncPendingControls(),t.forEach(e=>{let i=e.control;i.updateOn==="submit"&&i._pendingChange&&(e.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}function me(n,t){if(!t)return null;Array.isArray(t);let e,i,r;return t.forEach(s=>{s.constructor===Re?e=s:wt(s)?i=s:r=s}),r||i||e||null}function St(n,t){let e=n.indexOf(t);e>-1&&n.splice(e,1)}function Ne(n,t){let e=n.indexOf(t);e>-1&&n.splice(e,1)}function Oe(n){return typeof n=="object"&&n!==null&&Object.keys(n).length===2&&"value"in n&&"disabled"in n}var R=class extends M{defaultValue=null;_onChange=[];_pendingValue;_pendingChange=!1;constructor(t=null,e,i){super(he(e),fe(i,e)),this._applyFormState(t),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),ee(e)&&(e.nonNullable||e.initialValueIsDefault)&&(Oe(t)?this.defaultValue=t.value:this.defaultValue=t)}setValue(t,e={}){this.value=this._pendingValue=t,this._onChange.length&&e.emitModelToViewChange!==!1&&this._onChange.forEach(i=>i(this.value,e.emitViewToModelChange!==!1)),this.updateValueAndValidity(e)}patchValue(t,e={}){this.setValue(t,e)}reset(t=this.defaultValue,e={}){this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){Ne(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){Ne(this._onDisabledChange,t)}_forEachChild(t){}_syncPendingControls(){return this.updateOn==="submit"&&(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),this._pendingChange)?(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),!0):!1}_applyFormState(t){Oe(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}};var Nt=n=>n instanceof R,Ot=(()=>{class n extends c{_parent;ngOnInit(){this._checkParentType(),this.formDirective.addFormGroup(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormGroup(this)}get control(){return this.formDirective.getFormGroup(this)}get path(){return te(this.name==null?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}static \u0275fac=(()=>{let e;return function(r){return(e||(e=D(n)))(r||n)}})();static \u0275dir=l({type:n,standalone:!1,features:[u]})}return n})();var xt={provide:p,useExisting:h(()=>Pt)},xe=Promise.resolve(),Pt=(()=>{class n extends p{_changeDetectorRef;callSetDisabledState;control=new R;static ngAcceptInputType_isDisabled;_registered=!1;viewModel;name="";isDisabled;model;options;update=new C;constructor(e,i,r,s,a,it){super(),this._changeDetectorRef=a,this.callSetDisabledState=it,this._parent=e,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=me(this,s)}ngOnChanges(e){if(this._checkForErrors(),!this._registered||"name"in e){if(this._registered&&(this._checkName(),this.formDirective)){let i=e.name.previousValue;this.formDirective.removeControl({name:i,path:this._getPath(i)})}this._setUpControl()}"isDisabled"in e&&this._updateDisabled(e),pe(e,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&this.options.updateOn!=null&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!!(this.options&&this.options.standalone)}_setUpStandalone(){Y(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._checkName()}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),!this._isStandalone()&&this.name}_updateValue(e){xe.then(()=>{this.control.setValue(e,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(e){let i=e.isDisabled.currentValue,r=i!==0&&Ee(i);xe.then(()=>{r&&!this.control.disabled?this.control.disable():!r&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(e){return this._parent?te(e,this._parent):[e]}static \u0275fac=function(i){return new(i||n)(o(c,9),o(E,10),o(F,10),o(v,10),o(Me,8),o(w,8))};static \u0275dir=l({type:n,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"],options:[0,"ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],standalone:!1,features:[f([xt]),u,I]})}return n})();var vn=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275dir=l({type:n,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""],standalone:!1})}return n})(),kt={provide:v,useExisting:h(()=>Rt),multi:!0},Rt=(()=>{class n extends G{writeValue(e){let i=e??"";this.setProperty("value",i)}registerOnChange(e){this.onChange=i=>{e(i==""?null:parseFloat(i))}}static \u0275fac=(()=>{let e;return function(r){return(e||(e=D(n)))(r||n)}})();static \u0275dir=l({type:n,selectors:[["input","type","number","formControlName",""],["input","type","number","formControl",""],["input","type","number","ngModel",""]],hostBindings:function(i,r){i&1&&V("input",function(a){return r.onChange(a.target.value)})("blur",function(){return r.onTouched()})},standalone:!1,features:[f([kt]),u]})}return n})(),Gt={provide:v,useExisting:h(()=>Tt),multi:!0};var jt=(()=>{class n{_accessors=[];add(e,i){this._accessors.push([e,i])}remove(e){for(let i=this._accessors.length-1;i>=0;--i)if(this._accessors[i][1]===e){this._accessors.splice(i,1);return}}select(e){this._accessors.forEach(i=>{this._isSameGroup(i,e)&&i[1]!==e&&i[1].fireUncheck(e.value)})}_isSameGroup(e,i){return e[0].control?e[0]._parent===i._control._parent&&e[1].name===i.name:!1}static \u0275fac=function(i){return new(i||n)};static \u0275prov=ne({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})(),Tt=(()=>{class n extends G{_registry;_injector;_state;_control;_fn;setDisabledStateFired=!1;onChange=()=>{};name;formControlName;value;callSetDisabledState=De(w,{optional:!0})??j;constructor(e,i,r,s){super(e,i),this._registry=r,this._injector=s}ngOnInit(){this._control=this._injector.get(p),this._checkName(),this._registry.add(this._control,this)}ngOnDestroy(){this._registry.remove(this)}writeValue(e){this._state=e===this.value,this.setProperty("checked",this._state)}registerOnChange(e){this._fn=e,this.onChange=()=>{e(this.value),this._registry.select(this)}}setDisabledState(e){(this.setDisabledStateFired||e||this.callSetDisabledState==="whenDisabledForLegacyCode")&&this.setProperty("disabled",e),this.setDisabledStateFired=!0}fireUncheck(e){this.writeValue(e)}_checkName(){this.name&&this.formControlName&&(this.name,this.formControlName),!this.name&&this.formControlName&&(this.name=this.formControlName)}static \u0275fac=function(i){return new(i||n)(o(H),o(U),o(jt),o(be))};static \u0275dir=l({type:n,selectors:[["input","type","radio","formControlName",""],["input","type","radio","formControl",""],["input","type","radio","ngModel",""]],hostBindings:function(i,r){i&1&&V("change",function(){return r.onChange()})("blur",function(){return r.onTouched()})},inputs:{name:"name",formControlName:"formControlName",value:"value"},standalone:!1,features:[f([Gt]),u]})}return n})(),Bt={provide:v,useExisting:h(()=>Ut),multi:!0},Ut=(()=>{class n extends G{writeValue(e){this.setProperty("value",parseFloat(e))}registerOnChange(e){this.onChange=i=>{e(i==""?null:parseFloat(i))}}static \u0275fac=(()=>{let e;return function(r){return(e||(e=D(n)))(r||n)}})();static \u0275dir=l({type:n,selectors:[["input","type","range","formControlName",""],["input","type","range","formControl",""],["input","type","range","ngModel",""]],hostBindings:function(i,r){i&1&&V("change",function(a){return r.onChange(a.target.value)})("input",function(a){return r.onChange(a.target.value)})("blur",function(){return r.onTouched()})},standalone:!1,features:[f([Bt]),u]})}return n})(),_e=new y(""),Ht={provide:p,useExisting:h(()=>Lt)},Lt=(()=>{class n extends p{_ngModelWarningConfig;callSetDisabledState;viewModel;form;set isDisabled(e){}model;update=new C;static _ngModelWarningSentOnce=!1;_ngModelWarningSent=!1;constructor(e,i,r,s,a){super(),this._ngModelWarningConfig=s,this.callSetDisabledState=a,this._setValidators(e),this._setAsyncValidators(i),this.valueAccessor=me(this,r)}ngOnChanges(e){if(this._isControlChanged(e)){let i=e.form.previousValue;i&&K(i,this,!1),Y(this.form,this,this.callSetDisabledState),this.form.updateValueAndValidity({emitEvent:!1})}pe(e,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&K(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}_isControlChanged(e){return e.hasOwnProperty("form")}static \u0275fac=function(i){return new(i||n)(o(E,10),o(F,10),o(v,10),o(_e,8),o(w,8))};static \u0275dir=l({type:n,selectors:[["","formControl",""]],inputs:{form:[0,"formControl","form"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],standalone:!1,features:[f([Ht]),u,I]})}return n})(),$t={provide:c,useExisting:h(()=>Je)},Je=(()=>{class n extends c{callSetDisabledState;get submitted(){return m(this._submittedReactive)}set submitted(e){this._submittedReactive.set(e)}_submitted=N(()=>this._submittedReactive());_submittedReactive=S(!1);_oldForm;_onCollectionChange=()=>this._updateDomValue();directives=[];form=null;ngSubmit=new C;constructor(e,i,r){super(),this.callSetDisabledState=r,this._setValidators(e),this._setAsyncValidators(i)}ngOnChanges(e){e.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(Q(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(e){let i=this.form.get(e.path);return Y(i,e,this.callSetDisabledState),i.updateValueAndValidity({emitEvent:!1}),this.directives.push(e),i}getControl(e){return this.form.get(e.path)}removeControl(e){K(e.control||null,e,!1),St(this.directives,e)}addFormGroup(e){this._setUpFormContainer(e)}removeFormGroup(e){this._cleanUpFormContainer(e)}getFormGroup(e){return this.form.get(e.path)}addFormArray(e){this._setUpFormContainer(e)}removeFormArray(e){this._cleanUpFormContainer(e)}getFormArray(e){return this.form.get(e.path)}updateModel(e,i){this.form.get(e.path).setValue(i)}onSubmit(e){return this._submittedReactive.set(!0),It(this.form,this.directives),this.ngSubmit.emit(e),this.form._events.next(new oe(this.control)),e?.target?.method==="dialog"}onReset(){this.resetForm()}resetForm(e=void 0){this.form.reset(e),this._submittedReactive.set(!1),this.form._events.next(new ae(this.form))}_updateDomValue(){this.directives.forEach(e=>{let i=e.control,r=this.form.get(e.path);i!==r&&(K(i||null,e),Nt(r)&&(Y(r,e,this.callSetDisabledState),e.control=r))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(e){let i=this.form.get(e.path);Et(i,e),i.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(e){if(this.form){let i=this.form.get(e.path);i&&Ft(i,e)&&i.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){ge(this.form,this),this._oldForm&&Q(this._oldForm,this)}static \u0275fac=function(i){return new(i||n)(o(E,10),o(F,10),o(w,8))};static \u0275dir=l({type:n,selectors:[["","formGroup",""]],hostBindings:function(i,r){i&1&&V("submit",function(a){return r.onSubmit(a)})("reset",function(){return r.onReset()})},inputs:{form:[0,"formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],standalone:!1,features:[f([$t]),u,I]})}return n})(),Wt={provide:c,useExisting:h(()=>Qe)},Qe=(()=>{class n extends Ot{name=null;constructor(e,i,r){super(),this._parent=e,this._setValidators(i),this._setAsyncValidators(r)}_checkParentType(){tt(this._parent)}static \u0275fac=function(i){return new(i||n)(o(c,13),o(E,10),o(F,10))};static \u0275dir=l({type:n,selectors:[["","formGroupName",""]],inputs:{name:[0,"formGroupName","name"]},standalone:!1,features:[f([Wt]),u]})}return n})(),qt={provide:c,useExisting:h(()=>et)},et=(()=>{class n extends c{_parent;name=null;constructor(e,i,r){super(),this._parent=e,this._setValidators(i),this._setAsyncValidators(r)}ngOnInit(){tt(this._parent),this.formDirective.addFormArray(this)}ngOnDestroy(){this.formDirective?.removeFormArray(this)}get control(){return this.formDirective.getFormArray(this)}get formDirective(){return this._parent?this._parent.formDirective:null}get path(){return te(this.name==null?this.name:this.name.toString(),this._parent)}static \u0275fac=function(i){return new(i||n)(o(c,13),o(E,10),o(F,10))};static \u0275dir=l({type:n,selectors:[["","formArrayName",""]],inputs:{name:[0,"formArrayName","name"]},standalone:!1,features:[f([qt]),u]})}return n})();function tt(n){return!(n instanceof Qe)&&!(n instanceof Je)&&!(n instanceof et)}var zt={provide:p,useExisting:h(()=>Zt)},Zt=(()=>{class n extends p{_ngModelWarningConfig;_added=!1;viewModel;control;name=null;set isDisabled(e){}model;update=new C;static _ngModelWarningSentOnce=!1;_ngModelWarningSent=!1;constructor(e,i,r,s,a){super(),this._ngModelWarningConfig=a,this._parent=e,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=me(this,s)}ngOnChanges(e){this._added||this._setUpControl(),pe(e,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}get path(){return te(this.name==null?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_setUpControl(){this.control=this.formDirective.addControl(this),this._added=!0}static \u0275fac=function(i){return new(i||n)(o(c,13),o(E,10),o(F,10),o(v,10),o(_e,8))};static \u0275dir=l({type:n,selectors:[["","formControlName",""]],inputs:{name:[0,"formControlName","name"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},standalone:!1,features:[f([zt]),u,I]})}return n})();var nt=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275mod=L({type:n});static \u0275inj=B({})}return n})(),ue=class extends M{constructor(t,e,i){super(he(e),fe(i,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}controls;at(t){return this.controls[this._adjustIndex(t)]}push(t,e={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}insert(t,e,i={}){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity({emitEvent:i.emitEvent})}removeAt(t,e={}){let i=this._adjustIndex(t);i<0&&(i=0),this.controls[i]&&this.controls[i]._registerOnCollectionChange(()=>{}),this.controls.splice(i,1),this.updateValueAndValidity({emitEvent:e.emitEvent})}setControl(t,e,i={}){let r=this._adjustIndex(t);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),e&&(this.controls.splice(r,0,e),this._registerControl(e)),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,e={}){Ye(this,!1,t),t.forEach((i,r)=>{Xe(this,!1,r),this.at(r).setValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){t!=null&&(t.forEach((i,r)=>{this.at(r)&&this.at(r).patchValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t=[],e={}){this._forEachChild((i,r)=>{i.reset(t[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e,this),this._updateTouched(e,this),this.updateValueAndValidity(e)}getRawValue(){return this.controls.map(t=>t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(e=>e._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_adjustIndex(t){return t<0?t+this.length:t}_syncPendingControls(){let t=this.controls.reduce((e,i)=>i._syncPendingControls()?!0:e,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){this.controls.forEach((e,i)=>{t(e,i)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(e=>e.enabled&&t(e))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_allControlsDisabled(){for(let t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}_find(t){return this.at(t)??null}};function Pe(n){return!!n&&(n.asyncValidators!==void 0||n.validators!==void 0||n.updateOn!==void 0)}var yn=(()=>{class n{useNonNullable=!1;get nonNullable(){let e=new n;return e.useNonNullable=!0,e}group(e,i=null){let r=this._reduceControls(e),s={};return Pe(i)?s=i:i!==null&&(s.validators=i.validator,s.asyncValidators=i.asyncValidator),new X(r,s)}record(e,i=null){let r=this._reduceControls(e);return new le(r,i)}control(e,i,r){let s={};return this.useNonNullable?(Pe(i)?s=i:(s.validators=i,s.asyncValidators=r),new R(e,g(d({},s),{nonNullable:!0}))):new R(e,i,r)}array(e,i,r){let s=e.map(a=>this._createControl(a));return new ue(s,i,r)}_reduceControls(e){let i={};return Object.keys(e).forEach(r=>{i[r]=this._createControl(e[r])}),i}_createControl(e){if(e instanceof R)return e;if(e instanceof M)return e;if(Array.isArray(e)){let i=e[0],r=e.length>1?e[1]:null,s=e.length>2?e[2]:null;return this.control(i,r,s)}else return this.control(e)}static \u0275fac=function(i){return new(i||n)};static \u0275prov=ne({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();var Cn=(()=>{class n{static withConfig(e){return{ngModule:n,providers:[{provide:w,useValue:e.callSetDisabledState??j}]}}static \u0275fac=function(i){return new(i||n)};static \u0275mod=L({type:n});static \u0275inj=B({imports:[nt]})}return n})(),Vn=(()=>{class n{static withConfig(e){return{ngModule:n,providers:[{provide:_e,useValue:e.warnOnNgModelWithFormControl??"always"},{provide:w,useValue:e.callSetDisabledState??j}]}}static \u0275fac=function(i){return new(i||n)};static \u0275mod=L({type:n});static \u0275inj=B({imports:[nt]})}return n})();export{v as a,st as b,Re as c,Fe as d,pn as e,mn as f,R as g,Pt as h,vn as i,Rt as j,Tt as k,Ut as l,Lt as m,Je as n,Qe as o,et as p,Zt as q,yn as r,Cn as s,Vn as t};
|
|
1
|
+
import{a as re}from"./chunk-CKPICCFH.js";import{Ac as N,Mb as V,Q as T,R as h,S as ne,T as B,Ua as H,V as y,Va as o,Y as De,bb as L,ca as I,cb as l,eb as u,ha as D,hb as Ae,i as ve,ja as be,kc as f,m as ye,ma as C,pb as ie,r as Ce,sa as U,ua as S,wc as Me,x as Ve,yc as Ee,zc as m}from"./chunk-W2F756OF.js";import{a as d,b as g}from"./chunk-7CGTOI24.js";var ke=(()=>{class n{_renderer;_elementRef;onChange=e=>{};onTouched=()=>{};constructor(e,i){this._renderer=e,this._elementRef=i}setProperty(e,i){this._renderer.setProperty(this._elementRef.nativeElement,e,i)}registerOnTouched(e){this.onTouched=e}registerOnChange(e){this.onChange=e}setDisabledState(e){this.setProperty("disabled",e)}static \u0275fac=function(i){return new(i||n)(o(H),o(U))};static \u0275dir=l({type:n})}return n})(),G=(()=>{class n extends ke{static \u0275fac=(()=>{let e;return function(r){return(e||(e=D(n)))(r||n)}})();static \u0275dir=l({type:n,features:[u]})}return n})(),v=new y(""),rt={provide:v,useExisting:h(()=>st),multi:!0},st=(()=>{class n extends G{writeValue(e){this.setProperty("checked",e)}static \u0275fac=(()=>{let e;return function(r){return(e||(e=D(n)))(r||n)}})();static \u0275dir=l({type:n,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(i,r){i&1&&V("change",function(a){return r.onChange(a.target.checked)})("blur",function(){return r.onTouched()})},standalone:!1,features:[f([rt]),u]})}return n})(),ot={provide:v,useExisting:h(()=>Re),multi:!0};function at(){let n=re()?re().getUserAgent():"";return/android (\d+)/.test(n.toLowerCase())}var lt=new y(""),Re=(()=>{class n extends ke{_compositionMode;_composing=!1;constructor(e,i,r){super(e,i),this._compositionMode=r,this._compositionMode==null&&(this._compositionMode=!at())}writeValue(e){let i=e??"";this.setProperty("value",i)}_handleInput(e){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(e)}_compositionStart(){this._composing=!0}_compositionEnd(e){this._composing=!1,this._compositionMode&&this.onChange(e)}static \u0275fac=function(i){return new(i||n)(o(H),o(U),o(lt,8))};static \u0275dir=l({type:n,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(i,r){i&1&&V("input",function(a){return r._handleInput(a.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(a){return r._compositionEnd(a.target.value)})},standalone:!1,features:[f([ot]),u]})}return n})();function de(n){return n==null||ce(n)===0}function ce(n){return n==null?null:Array.isArray(n)||typeof n=="string"?n.length:n instanceof Set?n.size:null}var E=new y(""),F=new y(""),ut=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,Fe=class{static min(t){return dt(t)}static max(t){return ct(t)}static required(t){return ht(t)}static requiredTrue(t){return ft(t)}static email(t){return gt(t)}static minLength(t){return pt(t)}static maxLength(t){return mt(t)}static pattern(t){return _t(t)}static nullValidator(t){return Ge(t)}static compose(t){return Le(t)}static composeAsync(t){return We(t)}};function dt(n){return t=>{if(t.value==null||n==null)return null;let e=parseFloat(t.value);return!isNaN(e)&&e<n?{min:{min:n,actual:t.value}}:null}}function ct(n){return t=>{if(t.value==null||n==null)return null;let e=parseFloat(t.value);return!isNaN(e)&&e>n?{max:{max:n,actual:t.value}}:null}}function ht(n){return de(n.value)?{required:!0}:null}function ft(n){return n.value===!0?null:{required:!0}}function gt(n){return de(n.value)||ut.test(n.value)?null:{email:!0}}function pt(n){return t=>{let e=t.value?.length??ce(t.value);return e===null||e===0?null:e<n?{minlength:{requiredLength:n,actualLength:e}}:null}}function mt(n){return t=>{let e=t.value?.length??ce(t.value);return e!==null&&e>n?{maxlength:{requiredLength:n,actualLength:e}}:null}}function _t(n){if(!n)return Ge;let t,e;return typeof n=="string"?(e="",n.charAt(0)!=="^"&&(e+="^"),e+=n,n.charAt(n.length-1)!=="$"&&(e+="$"),t=new RegExp(e)):(e=n.toString(),t=n),i=>{if(de(i.value))return null;let r=i.value;return t.test(r)?null:{pattern:{requiredPattern:e,actualValue:r}}}}function Ge(n){return null}function je(n){return n!=null}function Te(n){return Ae(n)?ye(n):n}function Be(n){let t={};return n.forEach(e=>{t=e!=null?d(d({},t),e):t}),Object.keys(t).length===0?null:t}function Ue(n,t){return t.map(e=>e(n))}function vt(n){return!n.validate}function He(n){return n.map(t=>vt(t)?t:e=>t.validate(e))}function Le(n){if(!n)return null;let t=n.filter(je);return t.length==0?null:function(e){return Be(Ue(e,t))}}function $e(n){return n!=null?Le(He(n)):null}function We(n){if(!n)return null;let t=n.filter(je);return t.length==0?null:function(e){let i=Ue(e,t).map(Te);return Ve(i).pipe(Ce(Be))}}function qe(n){return n!=null?We(He(n)):null}function we(n,t){return n===null?[t]:Array.isArray(n)?[...n,t]:[n,t]}function ze(n){return n._rawValidators}function Ze(n){return n._rawAsyncValidators}function se(n){return n?Array.isArray(n)?n:[n]:[]}function W(n,t){return Array.isArray(n)?n.includes(t):n===t}function Ie(n,t){let e=se(t);return se(n).forEach(r=>{W(e,r)||e.push(r)}),e}function Se(n,t){return se(t).filter(e=>!W(n,e))}var q=class{get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators=[];_rawAsyncValidators=[];_setValidators(t){this._rawValidators=t||[],this._composedValidatorFn=$e(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=qe(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_onDestroyCallbacks=[];_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t=void 0){this.control&&this.control.reset(t)}hasError(t,e){return this.control?this.control.hasError(t,e):!1}getError(t,e){return this.control?this.control.getError(t,e):null}},c=class extends q{name;get formDirective(){return null}get path(){return null}},p=class extends q{_parent=null;name=null;valueAccessor=null},z=class{_cd;constructor(t){this._cd=t}get isTouched(){return this._cd?.control?._touched?.(),!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return this._cd?.control?._pristine?.(),!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return this._cd?.control?._status?.(),!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return this._cd?._submitted?.(),!!this._cd?.submitted}},yt={"[class.ng-untouched]":"isUntouched","[class.ng-touched]":"isTouched","[class.ng-pristine]":"isPristine","[class.ng-dirty]":"isDirty","[class.ng-valid]":"isValid","[class.ng-invalid]":"isInvalid","[class.ng-pending]":"isPending"},gn=g(d({},yt),{"[class.ng-submitted]":"isSubmitted"}),pn=(()=>{class n extends z{constructor(e){super(e)}static \u0275fac=function(i){return new(i||n)(o(p,2))};static \u0275dir=l({type:n,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(i,r){i&2&&ie("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)},standalone:!1,features:[u]})}return n})(),mn=(()=>{class n extends z{constructor(e){super(e)}static \u0275fac=function(i){return new(i||n)(o(c,10))};static \u0275dir=l({type:n,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(i,r){i&2&&ie("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)("ng-submitted",r.isSubmitted)},standalone:!1,features:[u]})}return n})();var O="VALID",$="INVALID",b="PENDING",x="DISABLED",_=class{},Z=class extends _{value;source;constructor(t,e){super(),this.value=t,this.source=e}},P=class extends _{pristine;source;constructor(t,e){super(),this.pristine=t,this.source=e}},k=class extends _{touched;source;constructor(t,e){super(),this.touched=t,this.source=e}},A=class extends _{status;source;constructor(t,e){super(),this.status=t,this.source=e}},oe=class extends _{source;constructor(t){super(),this.source=t}},ae=class extends _{source;constructor(t){super(),this.source=t}};function he(n){return(ee(n)?n.validators:n)||null}function Ct(n){return Array.isArray(n)?$e(n):n||null}function fe(n,t){return(ee(t)?t.asyncValidators:n)||null}function Vt(n){return Array.isArray(n)?qe(n):n||null}function ee(n){return n!=null&&!Array.isArray(n)&&typeof n=="object"}function Xe(n,t,e){let i=n.controls;if(!(t?Object.keys(i):i).length)throw new T(1e3,"");if(!i[e])throw new T(1001,"")}function Ye(n,t,e){n._forEachChild((i,r)=>{if(e[r]===void 0)throw new T(1002,"")})}var M=class{_pendingDirty=!1;_hasOwnPendingAsyncValidator=null;_pendingTouched=!1;_onCollectionChange=()=>{};_updateOn;_parent=null;_asyncValidationSubscription;_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators;_rawAsyncValidators;value;constructor(t,e){this._assignValidators(t),this._assignAsyncValidators(e)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get status(){return m(this.statusReactive)}set status(t){m(()=>this.statusReactive.set(t))}_status=N(()=>this.statusReactive());statusReactive=S(void 0);get valid(){return this.status===O}get invalid(){return this.status===$}get pending(){return this.status==b}get disabled(){return this.status===x}get enabled(){return this.status!==x}errors;get pristine(){return m(this.pristineReactive)}set pristine(t){m(()=>this.pristineReactive.set(t))}_pristine=N(()=>this.pristineReactive());pristineReactive=S(!0);get dirty(){return!this.pristine}get touched(){return m(this.touchedReactive)}set touched(t){m(()=>this.touchedReactive.set(t))}_touched=N(()=>this.touchedReactive());touchedReactive=S(!1);get untouched(){return!this.touched}_events=new ve;events=this._events.asObservable();valueChanges;statusChanges;get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(Ie(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(Ie(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(Se(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(Se(t,this._rawAsyncValidators))}hasValidator(t){return W(this._rawValidators,t)}hasAsyncValidator(t){return W(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){let e=this.touched===!1;this.touched=!0;let i=t.sourceControl??this;this._parent&&!t.onlySelf&&this._parent.markAsTouched(g(d({},t),{sourceControl:i})),e&&t.emitEvent!==!1&&this._events.next(new k(!0,i))}markAllAsTouched(t={}){this.markAsTouched({onlySelf:!0,emitEvent:t.emitEvent,sourceControl:this}),this._forEachChild(e=>e.markAllAsTouched(t))}markAsUntouched(t={}){let e=this.touched===!0;this.touched=!1,this._pendingTouched=!1;let i=t.sourceControl??this;this._forEachChild(r=>{r.markAsUntouched({onlySelf:!0,emitEvent:t.emitEvent,sourceControl:i})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t,i),e&&t.emitEvent!==!1&&this._events.next(new k(!1,i))}markAsDirty(t={}){let e=this.pristine===!0;this.pristine=!1;let i=t.sourceControl??this;this._parent&&!t.onlySelf&&this._parent.markAsDirty(g(d({},t),{sourceControl:i})),e&&t.emitEvent!==!1&&this._events.next(new P(!1,i))}markAsPristine(t={}){let e=this.pristine===!1;this.pristine=!0,this._pendingDirty=!1;let i=t.sourceControl??this;this._forEachChild(r=>{r.markAsPristine({onlySelf:!0,emitEvent:t.emitEvent})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t,i),e&&t.emitEvent!==!1&&this._events.next(new P(!0,i))}markAsPending(t={}){this.status=b;let e=t.sourceControl??this;t.emitEvent!==!1&&(this._events.next(new A(this.status,e)),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.markAsPending(g(d({},t),{sourceControl:e}))}disable(t={}){let e=this._parentMarkedDirty(t.onlySelf);this.status=x,this.errors=null,this._forEachChild(r=>{r.disable(g(d({},t),{onlySelf:!0}))}),this._updateValue();let i=t.sourceControl??this;t.emitEvent!==!1&&(this._events.next(new Z(this.value,i)),this._events.next(new A(this.status,i)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(g(d({},t),{skipPristineCheck:e}),this),this._onDisabledChange.forEach(r=>r(!0))}enable(t={}){let e=this._parentMarkedDirty(t.onlySelf);this.status=O,this._forEachChild(i=>{i.enable(g(d({},t),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(g(d({},t),{skipPristineCheck:e}),this),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(t,e){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine({},e),this._parent._updateTouched({},e))}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){if(this._setInitialStatus(),this._updateValue(),this.enabled){let i=this._cancelExistingSubscription();this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===O||this.status===b)&&this._runAsyncValidator(i,t.emitEvent)}let e=t.sourceControl??this;t.emitEvent!==!1&&(this._events.next(new Z(this.value,e)),this._events.next(new A(this.status,e)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(g(d({},t),{sourceControl:e}))}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?x:O}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t,e){if(this.asyncValidator){this.status=b,this._hasOwnPendingAsyncValidator={emitEvent:e!==!1};let i=Te(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(r=>{this._hasOwnPendingAsyncValidator=null,this.setErrors(r,{emitEvent:e,shouldHaveEmitted:t})})}}_cancelExistingSubscription(){if(this._asyncValidationSubscription){this._asyncValidationSubscription.unsubscribe();let t=this._hasOwnPendingAsyncValidator?.emitEvent??!1;return this._hasOwnPendingAsyncValidator=null,t}return!1}setErrors(t,e={}){this.errors=t,this._updateControlsErrors(e.emitEvent!==!1,this,e.shouldHaveEmitted)}get(t){let e=t;return e==null||(Array.isArray(e)||(e=e.split(".")),e.length===0)?null:e.reduce((i,r)=>i&&i._find(r),this)}getError(t,e){let i=e?this.get(e):this;return i&&i.errors?i.errors[t]:null}hasError(t,e){return!!this.getError(t,e)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t,e,i){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),(t||i)&&this._events.next(new A(this.status,e)),this._parent&&this._parent._updateControlsErrors(t,e,i)}_initObservables(){this.valueChanges=new C,this.statusChanges=new C}_calculateStatus(){return this._allControlsDisabled()?x:this.errors?$:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(b)?b:this._anyControlsHaveStatus($)?$:O}_anyControlsHaveStatus(t){return this._anyControls(e=>e.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t,e){let i=!this._anyControlsDirty(),r=this.pristine!==i;this.pristine=i,this._parent&&!t.onlySelf&&this._parent._updatePristine(t,e),r&&this._events.next(new P(this.pristine,e))}_updateTouched(t={},e){this.touched=this._anyControlsTouched(),this._events.next(new k(this.touched,e)),this._parent&&!t.onlySelf&&this._parent._updateTouched(t,e)}_onDisabledChange=[];_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){ee(t)&&t.updateOn!=null&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){let e=this._parent&&this._parent.dirty;return!t&&!!e&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=Ct(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=Vt(this._rawAsyncValidators)}},X=class extends M{constructor(t,e,i){super(he(e),fe(i,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}controls;registerControl(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(t,e,i={}){this.registerControl(t,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(t,e,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,e={}){Ye(this,!0,t),Object.keys(t).forEach(i=>{Xe(this,!0,i),this.controls[i].setValue(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){t!=null&&(Object.keys(t).forEach(i=>{let r=this.controls[i];r&&r.patchValue(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t={},e={}){this._forEachChild((i,r)=>{i.reset(t?t[r]:null,{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e,this),this._updateTouched(e,this),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(t,e,i)=>(t[i]=e.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(e,i)=>i._syncPendingControls()?!0:e);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(e=>{let i=this.controls[e];i&&t(i,e)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(let[e,i]of Object.entries(this.controls))if(this.contains(e)&&t(i))return!0;return!1}_reduceValue(){let t={};return this._reduceChildren(t,(e,i,r)=>((i.enabled||this.disabled)&&(e[r]=i.value),e))}_reduceChildren(t,e){let i=t;return this._forEachChild((r,s)=>{i=e(i,r,s)}),i}_allControlsDisabled(){for(let t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}};var le=class extends X{};var w=new y("",{providedIn:"root",factory:()=>j}),j="always";function te(n,t){return[...t.path,n]}function Y(n,t,e=j){ge(n,t),t.valueAccessor.writeValue(n.value),(n.disabled||e==="always")&&t.valueAccessor.setDisabledState?.(n.disabled),bt(n,t),Mt(n,t),At(n,t),Dt(n,t)}function K(n,t,e=!0){let i=()=>{};t.valueAccessor&&(t.valueAccessor.registerOnChange(i),t.valueAccessor.registerOnTouched(i)),Q(n,t),n&&(t._invokeOnDestroyCallbacks(),n._registerOnCollectionChange(()=>{}))}function J(n,t){n.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(t)})}function Dt(n,t){if(t.valueAccessor.setDisabledState){let e=i=>{t.valueAccessor.setDisabledState(i)};n.registerOnDisabledChange(e),t._registerOnDestroy(()=>{n._unregisterOnDisabledChange(e)})}}function ge(n,t){let e=ze(n);t.validator!==null?n.setValidators(we(e,t.validator)):typeof e=="function"&&n.setValidators([e]);let i=Ze(n);t.asyncValidator!==null?n.setAsyncValidators(we(i,t.asyncValidator)):typeof i=="function"&&n.setAsyncValidators([i]);let r=()=>n.updateValueAndValidity();J(t._rawValidators,r),J(t._rawAsyncValidators,r)}function Q(n,t){let e=!1;if(n!==null){if(t.validator!==null){let r=ze(n);if(Array.isArray(r)&&r.length>0){let s=r.filter(a=>a!==t.validator);s.length!==r.length&&(e=!0,n.setValidators(s))}}if(t.asyncValidator!==null){let r=Ze(n);if(Array.isArray(r)&&r.length>0){let s=r.filter(a=>a!==t.asyncValidator);s.length!==r.length&&(e=!0,n.setAsyncValidators(s))}}}let i=()=>{};return J(t._rawValidators,i),J(t._rawAsyncValidators,i),e}function bt(n,t){t.valueAccessor.registerOnChange(e=>{n._pendingValue=e,n._pendingChange=!0,n._pendingDirty=!0,n.updateOn==="change"&&Ke(n,t)})}function At(n,t){t.valueAccessor.registerOnTouched(()=>{n._pendingTouched=!0,n.updateOn==="blur"&&n._pendingChange&&Ke(n,t),n.updateOn!=="submit"&&n.markAsTouched()})}function Ke(n,t){n._pendingDirty&&n.markAsDirty(),n.setValue(n._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(n._pendingValue),n._pendingChange=!1}function Mt(n,t){let e=(i,r)=>{t.valueAccessor.writeValue(i),r&&t.viewToModelUpdate(i)};n.registerOnChange(e),t._registerOnDestroy(()=>{n._unregisterOnChange(e)})}function Et(n,t){n==null,ge(n,t)}function Ft(n,t){return Q(n,t)}function pe(n,t){if(!n.hasOwnProperty("model"))return!1;let e=n.model;return e.isFirstChange()?!0:!Object.is(t,e.currentValue)}function wt(n){return Object.getPrototypeOf(n.constructor)===G}function It(n,t){n._syncPendingControls(),t.forEach(e=>{let i=e.control;i.updateOn==="submit"&&i._pendingChange&&(e.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}function me(n,t){if(!t)return null;Array.isArray(t);let e,i,r;return t.forEach(s=>{s.constructor===Re?e=s:wt(s)?i=s:r=s}),r||i||e||null}function St(n,t){let e=n.indexOf(t);e>-1&&n.splice(e,1)}function Ne(n,t){let e=n.indexOf(t);e>-1&&n.splice(e,1)}function Oe(n){return typeof n=="object"&&n!==null&&Object.keys(n).length===2&&"value"in n&&"disabled"in n}var R=class extends M{defaultValue=null;_onChange=[];_pendingValue;_pendingChange=!1;constructor(t=null,e,i){super(he(e),fe(i,e)),this._applyFormState(t),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),ee(e)&&(e.nonNullable||e.initialValueIsDefault)&&(Oe(t)?this.defaultValue=t.value:this.defaultValue=t)}setValue(t,e={}){this.value=this._pendingValue=t,this._onChange.length&&e.emitModelToViewChange!==!1&&this._onChange.forEach(i=>i(this.value,e.emitViewToModelChange!==!1)),this.updateValueAndValidity(e)}patchValue(t,e={}){this.setValue(t,e)}reset(t=this.defaultValue,e={}){this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){Ne(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){Ne(this._onDisabledChange,t)}_forEachChild(t){}_syncPendingControls(){return this.updateOn==="submit"&&(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),this._pendingChange)?(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),!0):!1}_applyFormState(t){Oe(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}};var Nt=n=>n instanceof R,Ot=(()=>{class n extends c{_parent;ngOnInit(){this._checkParentType(),this.formDirective.addFormGroup(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormGroup(this)}get control(){return this.formDirective.getFormGroup(this)}get path(){return te(this.name==null?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}static \u0275fac=(()=>{let e;return function(r){return(e||(e=D(n)))(r||n)}})();static \u0275dir=l({type:n,standalone:!1,features:[u]})}return n})();var xt={provide:p,useExisting:h(()=>Pt)},xe=Promise.resolve(),Pt=(()=>{class n extends p{_changeDetectorRef;callSetDisabledState;control=new R;static ngAcceptInputType_isDisabled;_registered=!1;viewModel;name="";isDisabled;model;options;update=new C;constructor(e,i,r,s,a,it){super(),this._changeDetectorRef=a,this.callSetDisabledState=it,this._parent=e,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=me(this,s)}ngOnChanges(e){if(this._checkForErrors(),!this._registered||"name"in e){if(this._registered&&(this._checkName(),this.formDirective)){let i=e.name.previousValue;this.formDirective.removeControl({name:i,path:this._getPath(i)})}this._setUpControl()}"isDisabled"in e&&this._updateDisabled(e),pe(e,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&this.options.updateOn!=null&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!!(this.options&&this.options.standalone)}_setUpStandalone(){Y(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._checkName()}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),!this._isStandalone()&&this.name}_updateValue(e){xe.then(()=>{this.control.setValue(e,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(e){let i=e.isDisabled.currentValue,r=i!==0&&Ee(i);xe.then(()=>{r&&!this.control.disabled?this.control.disable():!r&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(e){return this._parent?te(e,this._parent):[e]}static \u0275fac=function(i){return new(i||n)(o(c,9),o(E,10),o(F,10),o(v,10),o(Me,8),o(w,8))};static \u0275dir=l({type:n,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"],options:[0,"ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],standalone:!1,features:[f([xt]),u,I]})}return n})();var vn=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275dir=l({type:n,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""],standalone:!1})}return n})(),kt={provide:v,useExisting:h(()=>Rt),multi:!0},Rt=(()=>{class n extends G{writeValue(e){let i=e??"";this.setProperty("value",i)}registerOnChange(e){this.onChange=i=>{e(i==""?null:parseFloat(i))}}static \u0275fac=(()=>{let e;return function(r){return(e||(e=D(n)))(r||n)}})();static \u0275dir=l({type:n,selectors:[["input","type","number","formControlName",""],["input","type","number","formControl",""],["input","type","number","ngModel",""]],hostBindings:function(i,r){i&1&&V("input",function(a){return r.onChange(a.target.value)})("blur",function(){return r.onTouched()})},standalone:!1,features:[f([kt]),u]})}return n})(),Gt={provide:v,useExisting:h(()=>Tt),multi:!0};var jt=(()=>{class n{_accessors=[];add(e,i){this._accessors.push([e,i])}remove(e){for(let i=this._accessors.length-1;i>=0;--i)if(this._accessors[i][1]===e){this._accessors.splice(i,1);return}}select(e){this._accessors.forEach(i=>{this._isSameGroup(i,e)&&i[1]!==e&&i[1].fireUncheck(e.value)})}_isSameGroup(e,i){return e[0].control?e[0]._parent===i._control._parent&&e[1].name===i.name:!1}static \u0275fac=function(i){return new(i||n)};static \u0275prov=ne({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})(),Tt=(()=>{class n extends G{_registry;_injector;_state;_control;_fn;setDisabledStateFired=!1;onChange=()=>{};name;formControlName;value;callSetDisabledState=De(w,{optional:!0})??j;constructor(e,i,r,s){super(e,i),this._registry=r,this._injector=s}ngOnInit(){this._control=this._injector.get(p),this._checkName(),this._registry.add(this._control,this)}ngOnDestroy(){this._registry.remove(this)}writeValue(e){this._state=e===this.value,this.setProperty("checked",this._state)}registerOnChange(e){this._fn=e,this.onChange=()=>{e(this.value),this._registry.select(this)}}setDisabledState(e){(this.setDisabledStateFired||e||this.callSetDisabledState==="whenDisabledForLegacyCode")&&this.setProperty("disabled",e),this.setDisabledStateFired=!0}fireUncheck(e){this.writeValue(e)}_checkName(){this.name&&this.formControlName&&(this.name,this.formControlName),!this.name&&this.formControlName&&(this.name=this.formControlName)}static \u0275fac=function(i){return new(i||n)(o(H),o(U),o(jt),o(be))};static \u0275dir=l({type:n,selectors:[["input","type","radio","formControlName",""],["input","type","radio","formControl",""],["input","type","radio","ngModel",""]],hostBindings:function(i,r){i&1&&V("change",function(){return r.onChange()})("blur",function(){return r.onTouched()})},inputs:{name:"name",formControlName:"formControlName",value:"value"},standalone:!1,features:[f([Gt]),u]})}return n})(),Bt={provide:v,useExisting:h(()=>Ut),multi:!0},Ut=(()=>{class n extends G{writeValue(e){this.setProperty("value",parseFloat(e))}registerOnChange(e){this.onChange=i=>{e(i==""?null:parseFloat(i))}}static \u0275fac=(()=>{let e;return function(r){return(e||(e=D(n)))(r||n)}})();static \u0275dir=l({type:n,selectors:[["input","type","range","formControlName",""],["input","type","range","formControl",""],["input","type","range","ngModel",""]],hostBindings:function(i,r){i&1&&V("change",function(a){return r.onChange(a.target.value)})("input",function(a){return r.onChange(a.target.value)})("blur",function(){return r.onTouched()})},standalone:!1,features:[f([Bt]),u]})}return n})(),_e=new y(""),Ht={provide:p,useExisting:h(()=>Lt)},Lt=(()=>{class n extends p{_ngModelWarningConfig;callSetDisabledState;viewModel;form;set isDisabled(e){}model;update=new C;static _ngModelWarningSentOnce=!1;_ngModelWarningSent=!1;constructor(e,i,r,s,a){super(),this._ngModelWarningConfig=s,this.callSetDisabledState=a,this._setValidators(e),this._setAsyncValidators(i),this.valueAccessor=me(this,r)}ngOnChanges(e){if(this._isControlChanged(e)){let i=e.form.previousValue;i&&K(i,this,!1),Y(this.form,this,this.callSetDisabledState),this.form.updateValueAndValidity({emitEvent:!1})}pe(e,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&K(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}_isControlChanged(e){return e.hasOwnProperty("form")}static \u0275fac=function(i){return new(i||n)(o(E,10),o(F,10),o(v,10),o(_e,8),o(w,8))};static \u0275dir=l({type:n,selectors:[["","formControl",""]],inputs:{form:[0,"formControl","form"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],standalone:!1,features:[f([Ht]),u,I]})}return n})(),$t={provide:c,useExisting:h(()=>Je)},Je=(()=>{class n extends c{callSetDisabledState;get submitted(){return m(this._submittedReactive)}set submitted(e){this._submittedReactive.set(e)}_submitted=N(()=>this._submittedReactive());_submittedReactive=S(!1);_oldForm;_onCollectionChange=()=>this._updateDomValue();directives=[];form=null;ngSubmit=new C;constructor(e,i,r){super(),this.callSetDisabledState=r,this._setValidators(e),this._setAsyncValidators(i)}ngOnChanges(e){e.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(Q(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(e){let i=this.form.get(e.path);return Y(i,e,this.callSetDisabledState),i.updateValueAndValidity({emitEvent:!1}),this.directives.push(e),i}getControl(e){return this.form.get(e.path)}removeControl(e){K(e.control||null,e,!1),St(this.directives,e)}addFormGroup(e){this._setUpFormContainer(e)}removeFormGroup(e){this._cleanUpFormContainer(e)}getFormGroup(e){return this.form.get(e.path)}addFormArray(e){this._setUpFormContainer(e)}removeFormArray(e){this._cleanUpFormContainer(e)}getFormArray(e){return this.form.get(e.path)}updateModel(e,i){this.form.get(e.path).setValue(i)}onSubmit(e){return this._submittedReactive.set(!0),It(this.form,this.directives),this.ngSubmit.emit(e),this.form._events.next(new oe(this.control)),e?.target?.method==="dialog"}onReset(){this.resetForm()}resetForm(e=void 0){this.form.reset(e),this._submittedReactive.set(!1),this.form._events.next(new ae(this.form))}_updateDomValue(){this.directives.forEach(e=>{let i=e.control,r=this.form.get(e.path);i!==r&&(K(i||null,e),Nt(r)&&(Y(r,e,this.callSetDisabledState),e.control=r))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(e){let i=this.form.get(e.path);Et(i,e),i.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(e){if(this.form){let i=this.form.get(e.path);i&&Ft(i,e)&&i.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){ge(this.form,this),this._oldForm&&Q(this._oldForm,this)}static \u0275fac=function(i){return new(i||n)(o(E,10),o(F,10),o(w,8))};static \u0275dir=l({type:n,selectors:[["","formGroup",""]],hostBindings:function(i,r){i&1&&V("submit",function(a){return r.onSubmit(a)})("reset",function(){return r.onReset()})},inputs:{form:[0,"formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],standalone:!1,features:[f([$t]),u,I]})}return n})(),Wt={provide:c,useExisting:h(()=>Qe)},Qe=(()=>{class n extends Ot{name=null;constructor(e,i,r){super(),this._parent=e,this._setValidators(i),this._setAsyncValidators(r)}_checkParentType(){tt(this._parent)}static \u0275fac=function(i){return new(i||n)(o(c,13),o(E,10),o(F,10))};static \u0275dir=l({type:n,selectors:[["","formGroupName",""]],inputs:{name:[0,"formGroupName","name"]},standalone:!1,features:[f([Wt]),u]})}return n})(),qt={provide:c,useExisting:h(()=>et)},et=(()=>{class n extends c{_parent;name=null;constructor(e,i,r){super(),this._parent=e,this._setValidators(i),this._setAsyncValidators(r)}ngOnInit(){tt(this._parent),this.formDirective.addFormArray(this)}ngOnDestroy(){this.formDirective?.removeFormArray(this)}get control(){return this.formDirective.getFormArray(this)}get formDirective(){return this._parent?this._parent.formDirective:null}get path(){return te(this.name==null?this.name:this.name.toString(),this._parent)}static \u0275fac=function(i){return new(i||n)(o(c,13),o(E,10),o(F,10))};static \u0275dir=l({type:n,selectors:[["","formArrayName",""]],inputs:{name:[0,"formArrayName","name"]},standalone:!1,features:[f([qt]),u]})}return n})();function tt(n){return!(n instanceof Qe)&&!(n instanceof Je)&&!(n instanceof et)}var zt={provide:p,useExisting:h(()=>Zt)},Zt=(()=>{class n extends p{_ngModelWarningConfig;_added=!1;viewModel;control;name=null;set isDisabled(e){}model;update=new C;static _ngModelWarningSentOnce=!1;_ngModelWarningSent=!1;constructor(e,i,r,s,a){super(),this._ngModelWarningConfig=a,this._parent=e,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=me(this,s)}ngOnChanges(e){this._added||this._setUpControl(),pe(e,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}get path(){return te(this.name==null?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_setUpControl(){this.control=this.formDirective.addControl(this),this._added=!0}static \u0275fac=function(i){return new(i||n)(o(c,13),o(E,10),o(F,10),o(v,10),o(_e,8))};static \u0275dir=l({type:n,selectors:[["","formControlName",""]],inputs:{name:[0,"formControlName","name"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},standalone:!1,features:[f([zt]),u,I]})}return n})();var nt=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275mod=L({type:n});static \u0275inj=B({})}return n})(),ue=class extends M{constructor(t,e,i){super(he(e),fe(i,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}controls;at(t){return this.controls[this._adjustIndex(t)]}push(t,e={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}insert(t,e,i={}){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity({emitEvent:i.emitEvent})}removeAt(t,e={}){let i=this._adjustIndex(t);i<0&&(i=0),this.controls[i]&&this.controls[i]._registerOnCollectionChange(()=>{}),this.controls.splice(i,1),this.updateValueAndValidity({emitEvent:e.emitEvent})}setControl(t,e,i={}){let r=this._adjustIndex(t);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),e&&(this.controls.splice(r,0,e),this._registerControl(e)),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,e={}){Ye(this,!1,t),t.forEach((i,r)=>{Xe(this,!1,r),this.at(r).setValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){t!=null&&(t.forEach((i,r)=>{this.at(r)&&this.at(r).patchValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t=[],e={}){this._forEachChild((i,r)=>{i.reset(t[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e,this),this._updateTouched(e,this),this.updateValueAndValidity(e)}getRawValue(){return this.controls.map(t=>t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(e=>e._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_adjustIndex(t){return t<0?t+this.length:t}_syncPendingControls(){let t=this.controls.reduce((e,i)=>i._syncPendingControls()?!0:e,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){this.controls.forEach((e,i)=>{t(e,i)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(e=>e.enabled&&t(e))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_allControlsDisabled(){for(let t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}_find(t){return this.at(t)??null}};function Pe(n){return!!n&&(n.asyncValidators!==void 0||n.validators!==void 0||n.updateOn!==void 0)}var yn=(()=>{class n{useNonNullable=!1;get nonNullable(){let e=new n;return e.useNonNullable=!0,e}group(e,i=null){let r=this._reduceControls(e),s={};return Pe(i)?s=i:i!==null&&(s.validators=i.validator,s.asyncValidators=i.asyncValidator),new X(r,s)}record(e,i=null){let r=this._reduceControls(e);return new le(r,i)}control(e,i,r){let s={};return this.useNonNullable?(Pe(i)?s=i:(s.validators=i,s.asyncValidators=r),new R(e,g(d({},s),{nonNullable:!0}))):new R(e,i,r)}array(e,i,r){let s=e.map(a=>this._createControl(a));return new ue(s,i,r)}_reduceControls(e){let i={};return Object.keys(e).forEach(r=>{i[r]=this._createControl(e[r])}),i}_createControl(e){if(e instanceof R)return e;if(e instanceof M)return e;if(Array.isArray(e)){let i=e[0],r=e.length>1?e[1]:null,s=e.length>2?e[2]:null;return this.control(i,r,s)}else return this.control(e)}static \u0275fac=function(i){return new(i||n)};static \u0275prov=ne({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();var Cn=(()=>{class n{static withConfig(e){return{ngModule:n,providers:[{provide:w,useValue:e.callSetDisabledState??j}]}}static \u0275fac=function(i){return new(i||n)};static \u0275mod=L({type:n});static \u0275inj=B({imports:[nt]})}return n})(),Vn=(()=>{class n{static withConfig(e){return{ngModule:n,providers:[{provide:_e,useValue:e.warnOnNgModelWithFormControl??"always"},{provide:w,useValue:e.callSetDisabledState??j}]}}static \u0275fac=function(i){return new(i||n)};static \u0275mod=L({type:n});static \u0275inj=B({imports:[nt]})}return n})();export{v as a,st as b,Re as c,Fe as d,pn as e,mn as f,R as g,Pt as h,vn as i,Rt as j,Tt as k,Ut as l,Lt as m,Je as n,Qe as o,et as p,Zt as q,yn as r,Cn as s,Vn as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as m}from"./chunk-
|
|
1
|
+
import{a as m}from"./chunk-PFYOWXZZ.js";import{Y as p,db as a}from"./chunk-W2F756OF.js";var u=class e{#t=p(m);transform(t,n=!1,...f){if(!t)return"";let r=t.split(".")[0],s=parseInt(r.split(":")[0])??0,i=parseInt(r.split(":")[1])??0,o=parseInt(r.split(":")[2])??0;return n?`${s}h ${i}m ${o}s`:this.#t.duration({hours:s,minutes:i,seconds:o}).humanize()}static \u0275fac=function(n){return new(n||e)};static \u0275pipe=a({name:"durationFormat",type:e,pure:!0})};export{u as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as ve}from"./chunk-SAVY3OEX.js";import{s as Te}from"./chunk-T2OUHRUV.js";import{a as fe,f as ge,l as me,n as Ce,p as Pe,z as Ee}from"./chunk-WX7L7V6J.js";import{b as _e}from"./chunk-PTDSOPNK.js";import{i as he}from"./chunk-CKPICCFH.js";import{$b as S,Ac as R,B as ee,Bb as K,Bc as I,Cb as A,F as j,Ib as L,Jb as oe,Kb as le,Mb as k,Nb as h,Ob as ae,Pb as B,Qa as m,Xa as X,Y as G,Yb as U,Zb as ce,_b as z,ab as te,bc as de,da as w,ea as N,fb as x,mc as $,n as Y,nb as Q,nc as pe,ob as ne,pb as b,qa as q,r as W,ra as E,sb as F,sc as ue,ua as O,ub as ie,vb as se,wb as _,x as Z,xb as g,yb as re}from"./chunk-W2F756OF.js";import{a as V,b as H}from"./chunk-7CGTOI24.js";var ye=["treeContainer"],we=["formRef"],Ne=[[["label"]],[["label"]],[["input"]]],ke=["label","label","input"],Re=s=>({children:s,level:0}),be=s=>({$implicit:s}),Ie=(s,t)=>({children:s,level:t}),We=(s,t)=>t.id;function Ae(s,t){if(s&1){let e=A();_(0,"spk-button-group")(1,"button",13),k("click",function(){w(e);let i=h();return N(i.pathDiscoveryMethod.set("browse"))}),L(2,4),g(),_(3,"button",13),k("click",function(){w(e);let i=h();return N(i.pathDiscoveryMethod.set("path"))}),L(4,5),g()()}if(s&2){let e=h();m(),b("active",e.pathDiscoveryMethod()==="browse"),m(2),b("active",e.pathDiscoveryMethod()==="path")}}function Le(s,t){s&1&&re(0,"spk-progress-bar",9)}function Be(s,t){s&1&&(_(0,"spk-icon",18),S(1,"caret-down"),g(),_(2,"spk-icon",16),S(3,"folder-open"),g())}function $e(s,t){s&1&&(_(0,"spk-icon"),S(1,"file"),g())}function De(s,t){s&1&&(_(0,"spk-icon",18),S(1,"caret-right"),g(),_(2,"spk-icon",16),S(3,"folder"),g())}function Ve(s,t){if(s&1&&x(0,Be,4,0)(1,$e,2,0,"spk-icon")(2,De,4,0),s&2){let e=h(2).$implicit;F(e.children.length?0:e.cls==="file"?1:2)}}function He(s,t){s&1&&(_(0,"spk-icon",16),S(1,"desktop-tower"),g())}function je(s,t){s&1&&K(0)}function Ge(s,t){if(s&1&&x(0,je,1,0,"ng-container",10),s&2){let e=h(2).$implicit,n=h().$implicit;h();let i=z(7);Q("ngTemplateOutlet",i)("ngTemplateOutletContext",$(5,be,pe(2,Ie,e.children,n.level+1)))}}function qe(s,t){if(s&1){let e=A();_(0,"div",14,3),k("click",function(){w(e);let i=h().$implicit,r=h(2);return N(r.toggleNode(i.id,i))}),_(2,"div",15),x(3,Ve,3,1)(4,He,2,0,"spk-icon",16),g(),_(5,"div",17),k("click",function(i){w(e);let r=h().$implicit,o=h(2);return N(o.toggleSelectedNode(i,r))}),S(6),g()(),x(7,Ge,1,7,"ng-container")}if(s&2){let e=h().$implicit,n=h().$implicit,i=h();b("accepted",e.accepted===!0)("active",e.evalState===i.TreeEvalEnum.Included)("indeterminate",e.isIndeterminate)("open",e.children.length)("usually-hidden",e.hidden)("root",n.level===0),m(2),b("file",e.cls==="file"),m(),F(e.id!=="/"?3:4),m(3),de(" ",e.text," "),m(),F(e.children.length>0?7:-1)}}function Xe(s,t){if(s&1&&x(0,qe,8,17),s&2){let e=t.$implicit,n=h(2);F(e.hidden&&n._showHiddenNodes()||!e.hidden?0:-1)}}function Qe(s,t){if(s&1&&(_(0,"spk-list"),ie(1,Xe,1,1,null,null,We),g()),s&2){let e=t.$implicit;ne("padding-left",e.level*.25,"rem"),m(),se(e.children)}}function Ke(s,t){s&1&&K(0)}function Ue(s,t){if(s&1){let e=A();_(0,"spk-toggle",19),k("click",function(){w(e);let i=h();return N(i._showHiddenNodes.set(!i._showHiddenNodes()))}),L(1,6),g()}if(s&2){let e=h();b("active",e._showHiddenNodes()),m(),oe(e.showFiles()?"files":"folders"),le(1)}}var xe=(r=>(r[r.ExcludedByParent=-2]="ExcludedByParent",r[r.Excluded=-1]="Excluded",r[r.None=0]="None",r[r.Included=1]="Included",r[r.IncludedByParent=2]="IncludedByParent",r))(xe||{}),J=class s{#e=G(_e);#t=G(ve);multiSelect=E(!1);disabled=E(!1);showFiles=E(!1);selectFiles=E(!1);accepts=E(null);startingPath=E(null);rootPath=E(void 0);backupSettings=E(null);pathRefreshTrigger=E(!1);showHiddenNodes=E(!1);hideShortcuts=E(!1);includes=q();excludes=q();_showHiddenNodes=O(!1);treeContainerRef=X("treeContainer");formRef=X("formRef");pathDiscoveryMethod=O("browse");isLoading=O(!1);currentPath=O("/");#n=O(null);treeSearchQuery=O("");treeNodes=O([]);isWindows=R(()=>this.#t.systemInfo()?.OSType==="Windows");filterGroups=this.#t.filterGroups();isByBackupSettings=R(()=>{let t=this.backupSettings();return!(t===void 0||t?.id===void 0||t?.time===void 0)});searchableTreeNodes=R(()=>{let t=this.treeSearchQuery();return t?this.treeNodes().filter(e=>e.text?.toLowerCase().includes(t.toLowerCase())):this.treeNodes()});TreeEvalEnum=xe;treeStructure=R(()=>{let t=this.showHiddenNodes(),e=this.currentPath().split("\0").filter(d=>d!==""&&d!=="/"),n=structuredClone(e);for(let d=0;d<n.length;d++){let p=n[d].slice(1);if(p.startsWith("{")&&p.endsWith("}")){let v=p.slice(1,-1),f=this.filterGroups?.FilterGroups[v];if(f&&f.length){let C=f.map(u=>`-${u}`);n.splice(d,1,...C)}}}let i=this.searchableTreeNodes(),r=new Map,o=this.rootPath(),P=this.accepts(),l=this.isWindows(),c=o?{id:o,resolvedpath:o,text:o,parentPath:"",children:[],evalState:0,isIndeterminate:!1,cls:"folder"}:{id:"/",resolvedpath:"/",text:"Computer",parentPath:"",children:[],evalState:0,isIndeterminate:!1};P&&(c.accepted=!0),r.set("/",c);for(let d of i){let a=d.id.replace(o??"",""),p=l?"\\":"/",v=a.split(p).filter(Boolean),f="",C=c;for(let u of v){if(f+="/"+u,!r.has(f)){let M=d.hidden===!0&&t?0:this.#o(n,d.id,d.cls,C,l),T={id:d.id,isIndeterminate:this.isIndeterminate(n,d.id),evalState:M,parentPath:f,resolvedpath:d.id?.startsWith("%")?d.resolvedpath+"/":f,hidden:d.hidden,text:d.text,cls:d.cls,children:[]};P&&(T.accepted=this.matchAccepts(P,T)),r.set(f,T),C.children.push(T)}C=r.get(f)}}return[c]});#o(t,e,n,i,r){if(i.evalState===-1)return-2;let o=0,P=t.filter(c=>!c.startsWith("-")&&!c.startsWith("+")),l=t.filter(c=>c.startsWith("-")||c.startsWith("+"));if(P.length===0)return o;for(let c=0;c<P.length;c++){let d=P[c];if(e?.startsWith(d)){o=1;break}}if(l.length===0)return o;for(let c=0;c<l.length;c++){let d=l[c],a=d.slice(1),p=d.startsWith("-")?"exclude":"include",v=r?"\\":"/";if((r?a.slice(2):a).startsWith(v)&&a.endsWith(v)){if(n!=="folder")continue;if(e===a){o=p==="include"?1:-1;break}}if(a.startsWith("*")&&a.endsWith(`*${v}`)){if(n!=="folder")continue;let u=a.slice(1,-2);if(u==="")break;if(e?.includes(u+v)){o=p==="include"?1:-1;break}}if(a.startsWith("[.*")&&a.endsWith(`[^\\${v}]*]`)){if(n!=="file")continue;let u=a.slice(3,-7);if(new RegExp(u).test(e)){o=p==="include"?1:-1;break}}if(a.startsWith("[")&&a.endsWith("]")){let u=a.slice(1,-1),M=this.translateCSharpRegex(u);if(new RegExp(`${M}`).test(e)){o=p==="include"?1:-1;break}}if(a.startsWith("*.")){if(n!=="file"||a.replace("*.","").length===0)continue;if(this.#i(e,a,!0)){o=p==="include"?1:-1;break}}if(a==="")continue;if(a===e){o=p==="include"?1:-1;break}if(this.#i(e,a,!0)){o=p==="include"?1:-1;break}}return o}translateCSharpRegex(t){let e=t;e=e.replace(/^@/,"");let n=/\(\?<(?<name>\w+)>(?<pattern>[^)]+)\)/g;return e=e.replace(n,(i,r,o)=>`(${o})`),e=e.replace(/\\/g,"\\\\"),e}isIndeterminate(t,e){return t.some(n=>n.startsWith(e))}#i(t,e,n=!1){let i=e.replace(/\*/g,".*").replace(/\?/g,".").replace(/\[!([^\]]+)\]/g,"[^$1]");return new RegExp(`${i}${n?"$":""}`).test(t)}showHiddenNodesEffect=I(()=>this._showHiddenNodes.set(this.showHiddenNodes()));pathDiscoveryMethodEffect=I(()=>{let t=this.pathDiscoveryMethod(),e=this.#n();t==="browse"&&e&&this.currentPath.set(e.value)});matchAccepts(t,e){if(!t||e.cls==="folder"||e.id==="/")return!0;let n=t.split(",");if(n.length===0)return!0;let i="."+e.id.slice(e.id.indexOf("."));return i?n.some(r=>i.endsWith(r)):!1}currentPathEffect=I(()=>{let t=this.#n();t&&(t.value=this.currentPath(),t.dispatchEvent(new Event("input")))});inputValueChangeAbortController=null;inputRefEffect=I(()=>{let t=this.formRef()?.nativeElement?.querySelector("input");t&&(this.#a(t),this.inputValueChangeAbortController&&this.inputValueChangeAbortController.abort(),this.inputValueChangeAbortController=new AbortController,t.addEventListener("inputValueChanged",e=>{this.currentPath.set(e.detail.value)},{signal:this.inputValueChangeAbortController.signal}),this.#n.set(t),t.autocomplete="off")});ngOnInit(){let t=this.startingPath();t?(this.currentPath.set(t),this.#p(t)):this.#r(null,this.rootPath())}toggleSelectedNode(t,e){if(e.id==="/"||(t.stopPropagation(),e.evalState===-2))return;if(this.selectFiles()&&e.cls==="folder"){this.toggleNode(e.id,e);return}if(this.accepts()&&!e.accepted)return;let i=this.currentPath().split("\0").filter(o=>o!==""&&o!=="/"),r=this.isChildOfSelected(e)?`-${e.id}`:e.id;this.multiSelect()?i.includes(e.id)?this.currentPath.set(i.filter(o=>o!==e.id).join("\0")):i.some(o=>o.startsWith(r))?this.currentPath.set(i.filter(o=>o!==r).join("\0")):this.currentPath.set([...i,r].join("\0")):i.includes(e.id)?this.currentPath.set(i.filter(o=>o!==e.id).join("\0")):this.currentPath.set(e.id)}isChildOfSelected(t){return this.currentPath().split("\0").filter(n=>n!==""&&n!=="/").some(n=>t.id?.startsWith(n)||`-${t.id}`.startsWith(n))}toggleNode(t,e=null){e?.cls==="folder"&&(e?.children.length?this.treeNodes.update(n=>n.filter(i=>!i.id?.startsWith(e.id)||i.id===e.id)):this.#r(e,t))}#l(){setTimeout(()=>{let e=this.treeContainerRef()?.nativeElement?.querySelector(".active");e&&e.scrollIntoView({behavior:"smooth",block:"center"})},100)}#a(t){return Object.defineProperty(t,"value",{configurable:!0,get(){return Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value").get.call(this)},set(e){return Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value").set.call(this,e),this.dispatchEvent(new CustomEvent("inputValueChanged",{bubbles:!0,cancelable:!0,detail:{value:e}})),e}}),t}#c(t){return this.#e.postApiV1Filesystem({showHidden:!0,requestBody:{path:t},onlyFolders:!this.showFiles()})}#d(t){let e=this.backupSettings();if(this.#t.hasV2ListOperations())return this.#e.postApiV2BackupListFolder({requestBody:{BackupId:e.id,Time:e.time,Paths:t?[t]:null,PageSize:0,Page:0}}).pipe(W(n=>n.Data??[]));{let n={id:e.id+"",prefixOnly:!1,folderContents:!0,time:e.time,filter:t?"@"+t:void 0};return this.#e.getApiV1BackupByIdFiles(n).pipe(W(i=>i.Files??[]))}}#s(t){return this.isByBackupSettings()?this.#d(t):this.#c(t)}#p(t){let e=this.isWindows(),n=t.split("\0").filter(l=>l.startsWith("-")).map(l=>l.slice(1,-1)),i=t.split("\0").filter(l=>!l.startsWith("-")).filter(Boolean),r=i.map(l=>l.split(e?"\\":"/").filter(c=>c.includes(".")?!1:c)),o=[this.rootPath()??"/"];r.forEach(l=>{l.forEach((c,d)=>{let a=l.slice(0,d+1).join(e?"\\":"/"),p=a;p.indexOf(":")===-1&&!p.startsWith("%")&&(p="/"+a),o.includes(p)||o.push(p)})}),this.isLoading.set(!0);let P=o.map(l=>this.#s(l).pipe(W(c=>({status:"success",value:c,url:l})),ee(c=>Y({status:"error",value:c,url:l}))));Z(P).pipe(j(()=>this.isLoading.set(!1))).subscribe({next:l=>{let c=l.filter(a=>a.status==="success"),d=l.filter(a=>a.status==="error");this.treeNodes.update(a=>{let p=c.flatMap(f=>f.value.map(C=>{let u=C.id,M=C.id.startsWith("%")&&C.id.endsWith("%")?C.resolvedpath+"/":C.id,T=u&&u.split("/").filter(Boolean).slice(0,-1).join("/"),D="/"+(u&&u.split("/").filter(Boolean).join("/")),Oe=i.findIndex(y=>this.multiSelect()?D.startsWith(y):D===y)>-1,Fe=i.findIndex(y=>y===u)>-1,Se=n.findIndex(y=>y===D)>-1;return H(V({},C),{cls:M.endsWith("/")||M.endsWith("\\")?"folder":"file",parentPath:T.startsWith("%")?T:"/"+T,isSelected:Oe&&!Se||Fe})})),v=[...new Map([...a,...p].map(f=>[f.id,f])).values()];return this.#l(),v})}})}#r(t=null,e="/"){this.isLoading.set(!0),this.#s(e).pipe(j(()=>this.isLoading.set(!1))).subscribe({next:n=>{let i=this.isByBackupSettings()?n.map(r=>({text:r.Path.split("/").filter(o=>o!=="").pop(),id:r.Path,cls:r.Path.endsWith("/")||r.Path.endsWith("\\")?"folder":"file",leaf:t!==null,resolvedpath:r.Path,hidden:!1})):n;this.treeNodes.update(r=>{let o=i.map(l=>{let c=l.id.startsWith("%")&&l.id.endsWith("%")||l.id.endsWith("/")||l.id.endsWith("\\")?"folder":"file";return H(V({},l),{cls:c,parentPath:e})}),P=[...new Map([...r,...o].map(l=>[l.id,l])).values()];return this.hideShortcuts()?P.filter(l=>!l.id.startsWith("%")):P})}})}static \u0275fac=function(e){return new(e||s)};static \u0275cmp=te({type:s,selectors:[["app-file-tree"]],viewQuery:function(e,n){e&1&&(U(n.treeContainerRef,ye,5),U(n.formRef,we,5)),e&2&&ce(2)},hostVars:2,hostBindings:function(e,n){e&2&&b("disabled",n.disabled())},inputs:{multiSelect:[1,"multiSelect"],disabled:[1,"disabled"],showFiles:[1,"showFiles"],selectFiles:[1,"selectFiles"],accepts:[1,"accepts"],startingPath:[1,"startingPath"],rootPath:[1,"rootPath"],backupSettings:[1,"backupSettings"],pathRefreshTrigger:[1,"pathRefreshTrigger"],showHiddenNodes:[1,"showHiddenNodes"],hideShortcuts:[1,"hideShortcuts"]},outputs:{includes:"includes",excludes:"excludes"},ngContentSelectors:ke,decls:15,vars:15,consts:()=>{let t;t=$localize` Browser path `;let e;e=$localize` Manually type path `;let n;return n=$localize` Show hidden ${"\uFFFD0\uFFFD"}:INTERPOLATION: `,[["treeContainer",""],["recursiveTree",""],["formRef",""],["treeNode",""],t,e,n,[1,"section"],[1,"browse-files"],[1,"indeterminate","primary"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"primary","raised","browse-files-toggle",3,"active"],[1,"form-field"],["type","button",3,"click"],["action","",3,"click"],[1,"icon"],[1,"spk-primary"],[1,"text",3,"click"],[1,"small"],[1,"primary","raised","browse-files-toggle",3,"click"]]},template:function(e,n){if(e&1&&(ae(Ne),x(0,Ae,5,4,"spk-button-group"),_(1,"div",7),B(2,0,["ngProjectAs","label",5,["label"]]),_(3,"div",8,0),x(5,Le,1,0,"spk-progress-bar",9)(6,Qe,3,2,"ng-template",null,1,ue)(8,Ke,1,0,"ng-container",10),g(),x(9,Ue,2,3,"spk-toggle",11),g(),_(10,"div",12,2)(12,"spk-form-field"),B(13,1,["ngProjectAs","label",5,["label"]]),B(14,2,["ngProjectAs","input",5,["input"]]),g()()),e&2){let i=z(7);F(n.multiSelect()?-1:0),m(),b("hidden",n.pathDiscoveryMethod()!=="browse"),m(2),b("visualize-accepted",n.accepts()),m(2),F(n.isLoading()?5:-1),m(3),Q("ngTemplateOutlet",i)("ngTemplateOutletContext",$(13,be,$(11,Re,n.treeStructure()))),m(),F(!n.accepts()&&!n.isByBackupSettings()?9:-1),m(),b("hidden",n.pathDiscoveryMethod()!=="path")}},dependencies:[ge,Ee,fe,me,Ce,Pe,he,Te],styles:['[_nghost-%COMP%]{display:flex;flex-direction:column;gap:1rem}.disabled[_nghost-%COMP%]{opacity:.5;-webkit-user-select:none;user-select:none;pointer-events:none;position:relative}.disabled[_nghost-%COMP%]:before{content:"";position:absolute;inset:0;background:transparent}.fill[_nghost-%COMP%]{height:auto;overflow:hidden;flex:1 0}.fill[_nghost-%COMP%] .section[_ngcontent-%COMP%]{height:auto;overflow:hidden;flex:1 0;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;grid-template-areas:"label toggle" "tree tree"}.fill[_nghost-%COMP%] .browse-files[_ngcontent-%COMP%]{resize:none;height:initial;grid-area:tree}.fill[_nghost-%COMP%] label[_ngcontent-%COMP%]{grid-area:label}.fill[_nghost-%COMP%] spk-toggle[_ngcontent-%COMP%]{grid-area:toggle;flex-direction:row-reverse}.section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.form-field.hidden[_ngcontent-%COMP%]{display:none}.browse-files[_ngcontent-%COMP%]{display:flex;gap:.5rem;padding:.5rem 1rem;height:12.5rem;border:1px solid var(--base-level-40);border-radius:var(--shape-3);overflow:auto;resize:vertical;background:var(--base-level-10);position:relative}.browse-files[_ngcontent-%COMP%] spk-progress-bar[_ngcontent-%COMP%]{position:absolute;top:0;left:0;right:0}.browse-files.visualize-accepted[_ngcontent-%COMP%] [action][_ngcontent-%COMP%]:not(.accepted){opacity:.5}.browse-files.visualize-accepted[_ngcontent-%COMP%] [action].accepted[_ngcontent-%COMP%]{opacity:1}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%]{--list-active-bg: var(--base-level-30);gap:.125rem;padding:0;height:min-content;min-width:min-content}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%]{padding:0;gap:0;border:1px solid transparent}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action].active[_ngcontent-%COMP%]{border-color:transparent;--list-active-bg: var(--primary-level-20)}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action].indeterminate[_ngcontent-%COMP%]{border-color:var(--primary-level-40)}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action].usually-hidden[_ngcontent-%COMP%]{opacity:.6}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action].root[_ngcontent-%COMP%]{gap:.25rem}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action].root[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]:has(spk-icon:nth-child(2)){width:3rem}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action].root[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{width:1.5rem}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{flex:1 0;height:100%;width:max-content;display:flex;align-items:center}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{width:3rem;gap:.25rem;height:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%] .icon.file[_ngcontent-%COMP%]{width:2rem;padding:0 .25rem}.browse-files-toggle[_ngcontent-%COMP%]{color:var(--base-level-60R)}.hidden[_ngcontent-%COMP%]{display:none}'],changeDetection:0})};export{J as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as ae}from"./chunk-
|
|
1
|
+
import{a as ae}from"./chunk-FROEBZRG.js";import{n as le}from"./chunk-QO6SPSAF.js";import{a as ie,b as se}from"./chunk-6DH6O5YE.js";import"./chunk-TQGG56ZZ.js";import"./chunk-VN7JM6M3.js";import"./chunk-KSP3JQHY.js";import"./chunk-HTNYQE2B.js";import"./chunk-SAVY3OEX.js";import"./chunk-7L42EO7J.js";import"./chunk-RHW5QVAY.js";import{c as Z,e as J,h as ee,j as ne,s as te,t as oe}from"./chunk-T2OUHRUV.js";import{b as V,d as q}from"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{a as Y,g as H,l as Q,t as j}from"./chunk-WX7L7V6J.js";import"./chunk-PTDSOPNK.js";import"./chunk-MZ473NLM.js";import"./chunk-CKPICCFH.js";import{Ac as k,Cb as M,Gb as S,Hb as O,Ib as r,Mb as I,Nb as c,Qa as p,Xa as v,Y as C,Yb as U,Zb as X,ab as K,da as P,ea as f,ec as u,fb as N,fc as d,gc as m,lc as W,nb as g,pb as G,sb as F,ua as x,wb as t,xb as i,yb as T}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";var _e=["formRef"],re=()=>["--skip-files-larger-than","dblock-size","encryption-module","no-encryption","--no-encryption","--exclude-files-attributes","keep-time","keep-versions","retention-policy"];function pe(s,a){s&1&&(S(0,1,1),T(1,"spk-icon",20),O())}function ce(s,a){s&1&&(t(0,"p",20),r(1,6),i())}function ue(s,a){s&1&&(t(0,"p"),r(1,7),i())}function de(s,a){if(s&1){let e=M();t(0,"p"),r(1,8),i(),t(2,"app-timespan",18),m("ngModelChange",function(l){P(e);let o=c();return d(o.optionsFields.backupRetentionTime,l)||(o.optionsFields.backupRetentionTime=l),f(l)}),t(3,"label",29),r(4,9),i()()}if(s&2){let e=c();p(2),g("customId","backupRetentionTime"),u("ngModel",e.optionsFields.backupRetentionTime)}}function me(s,a){if(s&1){let e=M();t(0,"p"),r(1,10),i(),t(2,"spk-form-field")(3,"label",30),r(4,11),i(),t(5,"input",31),m("ngModelChange",function(l){P(e);let o=c();return d(o.optionsFields.backupRetentionVersions,l)||(o.optionsFields.backupRetentionVersions=l),f(l)}),i()()}if(s&2){let e=c();p(5),u("ngModel",e.optionsFields.backupRetentionVersions)}}function Se(s,a){s&1&&(t(0,"p"),r(1,12),i())}function Oe(s,a){if(s&1){let e=M();t(0,"p"),r(1,13),i(),t(2,"spk-form-field")(3,"p"),r(4,14),i(),t(5,"label",32),r(6,15),i(),t(7,"input",33),m("ngModelChange",function(l){P(e);let o=c();return d(o.optionsFields.backupRetentionCustom,l)||(o.optionsFields.backupRetentionCustom=l),f(l)}),i()()}if(s&2){let e=c();p(7),u("ngModel",e.optionsFields.backupRetentionCustom)}}var ge=["Bytes","KB","MB","GB","TB","PB"],Te=[{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`}],Ce=1024*1024*1024*2,Pe=1024*1024*5,h=class s{#e=C(le);#n=C(q);#t=C(V);formRef=v.required("formRef");selectedOptions=this.#e.selectedOptions;nonSelectedOptions=this.#e.nonSelectedOptions;isSubmitting=this.#e.isSubmitting;settings=this.#e.settings;optionsFields=this.#e.optionsFields;retentionOptions=x(Te);sizeSplit=k(()=>{let e=this.optionsFields.remoteVolumeSize().match(/^(\d+)(bytes|kb|mb|gb|tb|pb|b)$/i);return{value:e?parseInt(e[1],10):0,unit:e?e[2].toUpperCase():"MB"}});exceededVolumeSize=k(()=>{let a=this.sizeSplit().value,e=this.sizeSplit().unit;if(a==null||e===null||e===void 0)return!1;let n=a*Math.pow(1024,ge.indexOf(e));return n>Ce||n<Pe});goBack(){this.#n.navigate(["schedule"],{relativeTo:this.#t.parent})}submit(){this.#e.submit()}static \u0275fac=function(e){return new(e||s)};static \u0275cmp=K({type:s,selectors:[["app-advanced-options-settings"]],viewQuery:function(e,n){e&1&&U(n.formRef,_e,5),e&2&&X()},decls:30,vars:14,consts:()=>{let a;a=$localize`Options`;let e;e=$localize` Remote volume size ${"\uFFFD*7:1\uFFFD"}:START_BLOCK_IF:${"\uFFFD#1:1\uFFFD"}:START_TAG_SPK_ICON:warning${"\uFFFD/#1:1\uFFFD"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/*7:1\uFFFD"}:CLOSE_BLOCK_IF:`;let n;n=$localize` The backups will be split up into multiple files called volumes. Here you can set the maximum size of the individual volume files. ${"\uFFFD#11\uFFFD"}:START_LINK: Read more ${"\uFFFD#12\uFFFD"}:START_TAG_SPK_ICON:arrow-square-out${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/#11\uFFFD"}:CLOSE_LINK:`;let l;l=$localize`Backup retention`;let o;o=$localize`${"\uFFFD#26\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#26\uFFFD"}:CLOSE_TAG_SPK_ICON: Go back `;let E;E=$localize`${"\uFFFD#29\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#29\uFFFD"}:CLOSE_TAG_SPK_ICON: Submit `;let b;b=$localize` The chosen size is outside the recommended range. This may cause performance issues, excessively large temporary files or other problems. `;let A;A=$localize`Nothing will be deleted. The backup size will grow with each change.`;let R;R=$localize`If at least one newer backup is found, all backups older than this date are deleted.`;let y;y=$localize`Time to keep versions`;let $;$=$localize`Once there are more backups than the specified number, the oldest backups are deleted.`;let w;w=$localize`Number of versions`;let D;D=$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 B;B=$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 L;L=$localize`Once there are more backups than the specified number, the oldest backups are deleted.`;let z;return z=$localize`Retention expression`,[a,e,n,l,o,E,b,A,R,y,$,w,D,B,L,z,[1,"title-30"],[1,"remote-volume-wrap"],[3,"ngModelChange","customId","ngModel"],["for","size"],[1,"warning"],["href","https://forum.duplicati.com/t/choosing-sizes-in-duplicati/17683","target","_blank",1,"spk-primary"],["suffix",""],["value","value","label","name",3,"options","inlineSearch","isClearable"],["type","text",3,"ngModelChange","ngModel"],[3,"optionsChange","options","hiddenOptions"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","",1,"raised","primary",3,"click"],["for","backupRetentionTime"],["for","backupRetentionVersions"],["type","number","id","backupRetentionVersions",3,"ngModelChange","ngModel"],["for","backupRetentionCustom"],["type","text","id","backupRetentionCustom",3,"ngModelChange","ngModel"]]},template:function(e,n){e&1&&(t(0,"section")(1,"h3",16),r(2,0),i(),t(3,"div",17)(4,"app-size",18),m("ngModelChange",function(o){return d(n.optionsFields.remoteVolumeSize,o)||(n.optionsFields.remoteVolumeSize=o),o}),t(5,"label",19),S(6,1),N(7,pe,2,0,"spk-icon",20),O(),i()(),N(8,ce,2,0,"p",20),t(9,"p"),S(10,2),t(11,"a",21),T(12,"spk-icon",22),i(),O(),i()(),t(13,"spk-select",23)(14,"label",19),r(15,3),i(),t(16,"input",24),m("ngModelChange",function(o){return d(n.optionsFields.backupRetention,o)||(n.optionsFields.backupRetention=o),o}),i()(),N(17,ue,2,0,"p")(18,de,5,2)(19,me,6,1)(20,Se,2,0,"p")(21,Oe,8,1),t(22,"app-options-list",25),m("optionsChange",function(o){return d(n.settings,o)||(n.settings=o),o}),i(),t(23,"div",26)(24,"button",27),I("click",function(){return n.goBack()}),S(25,4),T(26,"spk-icon"),O(),i(),t(27,"button",28),I("click",function(){return n.submit()}),S(28,5),T(29,"spk-icon"),O(),i()()()),e&2&&(p(4),g("customId","size"),u("ngModel",n.optionsFields.remoteVolumeSize),p(3),F(n.exceededVolumeSize()?7:-1),p(),F(n.exceededVolumeSize()?8:-1),p(5),g("options",n.retentionOptions())("inlineSearch",!0)("isClearable",!1),p(3),u("ngModel",n.optionsFields.backupRetention),p(),F(n.optionsFields.backupRetention()==="all"?17:n.optionsFields.backupRetention()==="time"?18:n.optionsFields.backupRetention()==="versions"?19:n.optionsFields.backupRetention()==="smart"?20:n.optionsFields.backupRetention()==="custom"?21:-1),p(5),u("options",n.settings),g("hiddenOptions",W(13,re)),p(5),G("loader",n.isSubmitting()))},dependencies:[te,Z,ne,J,ee,oe,ae,H,Y,j,ie,se,Q],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:32.5rem;padding:2.5rem}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;padding-bottom:1.5rem}.form-column[_ngcontent-%COMP%]{display:flex;flex-direction:column}.form-column[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.form-column[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{font-size:1rem}.field-row[_ngcontent-%COMP%]{display:grid;align-items:flex-end;grid-template-columns:1fr 2.5rem;gap:.5rem}.form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:3fr 1fr;gap:.5rem;align-items:flex-end}.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 40px;align-items:flex-end}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}spk-select[_ngcontent-%COMP%]{--miw: p2r(120)}"],changeDetection:0})};export{h as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as _e}from"./chunk-SZ64OOBT.js";import{c as re,e as pe,h as ue,j as Se,s as y}from"./chunk-T2OUHRUV.js";import{a as Q}from"./chunk-FSGJ5KIH.js";import{a as Y,b as ee,e as te,g as ne,i as h,l as ie,p as oe,q as ae,s as se,t as le}from"./chunk-WX7L7V6J.js";import{b as A}from"./chunk-PTDSOPNK.js";import{a as ce}from"./chunk-DE4NDI5F.js";import{j as J}from"./chunk-CKPICCFH.js";import{$b as T,Ac as U,Cb as V,F as E,Gb as P,Hb as N,Ib as p,Lb as j,Mb as u,Nb as O,Qa as _,Y as d,ab as C,bc as I,cc as B,da as w,ea as z,ec as M,fb as L,fc as D,gc as R,nb as g,ob as X,pb as S,pc as G,qa as k,qc as q,rc as Z,sb as v,tb as H,ua as r,ub as K,vb as W,wb as s,xb as l,yb as f}from"./chunk-W2F756OF.js";function Oe(a,n){if(a&1){let t=V();s(0,"spk-radio",10),u("click",function(){let i=w(t).$implicit,o=O();return z(o.pauseOption.set(i.value))}),T(1),l()}if(a&2){let t=n.$implicit,e=O();S("active",e.pauseOption()===t.value),_(),I(" ",t.label," ")}}var Ae=[{label:$localize`5 minuts`,value:"5m"},{label:$localize`10 minuts`,value:"10m"},{label:$localize`15 minuts`,value:"15m"},{label:$localize`30 minuts`,value:"30m"},{label:$localize`1 hour`,value:"1h"},{label:$localize`4 hours`,value:"4h"},{label:$localize`8 hours`,value:"8h"},{label:$localize`24 hours`,value:"24h"},{label:$localize`Until resumed`,value:void 0}],b=class a{#e=d(A);pauseOptions=r(Ae);closed=k();isSubmitting=r(!1);pauseTransfers=r(!1);pauseOption=r(void 0);submit(){this.isSubmitting.set(!0);let n=this.pauseTransfers()||null,t=this.pauseOption();this.#e.postApiV1ServerstatePause({duration:t,pauseTransfers:n}).pipe(E(()=>this.isSubmitting.set(!1))).subscribe({next:e=>{this.closed.emit()}})}static \u0275fac=function(t){return new(t||a)};static \u0275cmp=C({type:a,selectors:[["app-pause-dialog"]],outputs:{closed:"closed"},decls:17,vars:4,consts:()=>{let n;n=$localize`Pause settings`;let t;t=$localize` Also pause transfers `;let e;e=$localize`If you pause transfers they could time out and cause retries or failures.`;let i;i=$localize`Cancel`;let o;return o=$localize` Update settings `,[n,t,e,i,o,["header",""],["content",""],[1,"radios"],[1,"primary","raised",3,"active"],[1,"check-wrap"],[1,"primary","raised",3,"click"],["type","warning"],["footer",""],["spk-button","",3,"click"],["spk-button","",1,"raised","primary",3,"click"]]},template:function(t,e){t&1&&(s(0,"header",5)(1,"h3"),p(2,0),l()(),s(3,"div",6)(4,"div",7),K(5,Oe,2,3,"spk-radio",8,H),l(),s(7,"div",9)(8,"spk-checkbox",10),u("click",function(){return e.pauseTransfers.set(!e.pauseTransfers())}),p(9,1),l(),s(10,"spk-alert",11),p(11,2),l()()(),s(12,"footer",12)(13,"button",13),u("click",function(){return e.closed.emit()}),p(14,3),l(),s(15,"button",14),u("click",function(){return e.submit()}),p(16,4),l()()),t&2&&(_(5),W(e.pauseOptions()),_(3),S("active",e.pauseTransfers()),_(7),S("loader",e.isSubmitting()))},dependencies:[y,ae,h,ee],styles:["[_nghost-%COMP%]{--dialog-p: 1.5rem;display:block}h3[_ngcontent-%COMP%]{font:var(--title-30)}.radios[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.check-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;padding:2rem 0 0}"],changeDetection:0})};var fe=["Byte/s","KByte/s","MByte/s","GByte/s","TByte/s","PByte/s"],$={Byte:"B",KByte:"KB",MByte:"MB",GByte:"GB",TByte:"TB",PByte:"PB"},me=Object.entries($).reduce((a,[n,t])=>(a[t]=n,a),{}),F=class a{#e=d(A);closed=k();isSubmitting=r(!1);sizeOptions=r(fe);maxUploadActive=r(!1);maxDownloadActive=r(!1);maxUpload=r(0);maxDownload=r(0);maxUploadUnit=r("MByte/s");maxDownloadUnit=r("MByte/s");ngOnInit(){this.init()}init(){this.#e.getApiV1Serversettings().subscribe({next:n=>{let t=n?.["max-upload-speed"]?.split(/(\d+)/),e=n?.["max-download-speed"]?.split(/(\d+)/),i=t[1]??"",o=e[1]??"",c=t[2]??"MB",m=e[2]??"MB",Ee=i===""?10:parseInt(i),Ce=o===""?10:parseInt(o);this.maxUploadUnit.set(me[c]+"/s"),this.maxDownloadUnit.set(me[m]+"/s"),this.maxUploadActive.set(i!==""),this.maxDownloadActive.set(o!==""),this.maxUpload.set(Ee),this.maxDownload.set(Ce)}})}blockDecimalKeys(n){if([".",","].includes(n.key))return n.preventDefault()}cleanupInputAfterPasting(n){n.preventDefault();let t=n.clipboardData?.getData("text/plain");if(!t)return;let e=t.replaceAll(/[\.,]/g,"");n.target.value=e}submit(){this.isSubmitting.set(!0);let n=this.maxUploadActive()?`${this.maxUpload()}${$[this.maxUploadUnit().replace("/s","")]}`:"",t=this.maxDownloadActive()?`${this.maxDownload()}${$[this.maxDownloadUnit().replace("/s","")]}`:"";this.#e.patchApiV1Serversettings({requestBody:{"max-upload-speed":n,"max-download-speed":t}}).pipe(E(()=>this.isSubmitting.set(!1))).subscribe({next:e=>{this.closed.emit(!0)}})}static \u0275fac=function(t){return new(t||a)};static \u0275cmp=C({type:a,selectors:[["app-throttle-settings-dialog"]],outputs:{closed:"closed"},decls:26,vars:16,consts:()=>{let n;n=$localize`Throttle network speed`;let t;t=$localize` Max upload speed `;let e;e=$localize` Max download speed `;let i;i=$localize` Note that speeds are entered in bytes, and line speeds are typically reported in bits. Use a factor of 8 to convert, such that an 8 mbit/s line is equivalent to 1 MByte/s. `;let o;o=$localize`Cancel`;let c;return c=$localize` Update settings `,[n,t,e,i,o,c,["header",""],["content",""],[1,"column"],[1,"field-row"],[1,"primary","raised",3,"click"],["type","number",3,"paste","keydown","ngModelChange","ngModel","disabled"],[3,"isClearable","options"],["type","text",3,"ngModelChange","ngModel"],["footer",""],["spk-button","",3,"click"],["spk-button","",1,"raised","primary",3,"click"]]},template:function(t,e){t&1&&(s(0,"header",6)(1,"h3"),p(2,0),l()(),s(3,"div",7)(4,"div",8)(5,"div",9)(6,"spk-checkbox",10),u("click",function(){return e.maxUploadActive.set(!e.maxUploadActive())}),p(7,1),l(),s(8,"spk-form-field")(9,"input",11),u("paste",function(o){return e.cleanupInputAfterPasting(o)})("keydown",function(o){return e.blockDecimalKeys(o)}),R("ngModelChange",function(o){return D(e.maxUpload,o)||(e.maxUpload=o),o}),l()(),s(10,"spk-select",12)(11,"input",13),R("ngModelChange",function(o){return D(e.maxUploadUnit,o)||(e.maxUploadUnit=o),o}),l()()(),s(12,"div",9)(13,"spk-checkbox",10),u("click",function(){return e.maxDownloadActive.set(!e.maxDownloadActive())}),p(14,2),l(),s(15,"spk-form-field")(16,"input",11),u("paste",function(o){return e.cleanupInputAfterPasting(o)})("keydown",function(o){return e.blockDecimalKeys(o)}),R("ngModelChange",function(o){return D(e.maxDownload,o)||(e.maxDownload=o),o}),l()(),s(17,"spk-select",12)(18,"input",13),R("ngModelChange",function(o){return D(e.maxDownloadUnit,o)||(e.maxDownloadUnit=o),o}),l()()(),s(19,"p"),p(20,3),l()()(),s(21,"footer",14)(22,"button",15),u("click",function(){return e.closed.emit(!1)}),p(23,4),l(),s(24,"button",16),u("click",function(){return e.submit()}),p(25,5),l()()),t&2&&(_(6),S("active",e.maxUploadActive()),_(3),M("ngModel",e.maxUpload),g("disabled",!e.maxUploadActive()),_(),g("isClearable",!1)("options",e.sizeOptions()),_(),M("ngModel",e.maxUploadUnit),_(2),S("active",e.maxDownloadActive()),_(3),M("ngModel",e.maxDownload),g("disabled",!e.maxDownloadActive()),_(),g("isClearable",!1)("options",e.sizeOptions()),_(),M("ngModel",e.maxDownloadUnit),_(6),S("loader",e.isSubmitting()))},dependencies:[y,re,Se,pe,ue,ie,h,le],styles:["[_nghost-%COMP%]{display:block}h3[_ngcontent-%COMP%]{font:var(--title-30)}.column[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.field-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;width:100%}"],changeDetection:0})};function Pe(a,n){if(a&1&&(s(0,"div"),T(1),l(),f(2,"spk-progress-bar",9)),a&2){let t=O();_(),B("",t.statusData().actionText," - ",t.statusData().statusText,""),_(),g("value",t.statusData().progress*100)}}function Ne(a,n){if(a&1&&(s(0,"div",5),T(1),s(2,"spk-icon"),T(3,"clock"),l(),T(4),G(5,"relativeTime"),G(6,"date"),l()),a&2){let t,e=O();_(),I(" ",(t=e.nextBackup().backup)==null||t.Backup==null?null:t.Backup.Name," - "),_(3),B(" ",q(5,3,e.nextBackup().time)," at ",Z(6,5,e.nextBackup().time,"shortTime")," ")}}function Me(a,n){a&1&&(s(0,"div",5),p(1,1),l())}function De(a,n){a&1&&(s(0,"div",6),P(1,2),f(2,"spk-spinner"),N(),l()),a&2&&(_(2),X("--spinner-size","12px")("--spinner-thickness","2px"))}function Re(a,n){a&1&&(P(0,0,1),f(1,"spk-icon"),N())}function Fe(a,n){a&1&&(P(0,0,2),f(1,"spk-icon"),N())}var ge=new Date,x=class a{#e=d(A);#t=d(_e);#n=d(te);#i=d(Q);minsAgo=ge.setMinutes(ge.getMinutes()-1);statusData=this.#t.statusData;serverState=this.#t.serverState;isRunning=U(()=>this.serverState()?.ProgramState==="Running");isResuming=r(!1);nextBackup=U(()=>({backup:this.serverState()?.ProposedSchedule?.[0]?.backup,time:this.serverState()?.ProposedSchedule?.[0]?.Item2}));openThrottleSettingsDialog(){this.#n.open(F,{maxWidth:"550px",width:"100%"})}openPauseDialog(){this.#n.open(b,{maxWidth:"550px",width:"100%"})}pauseResume(){if(this.isRunning()){this.openPauseDialog();return}this.isResuming.set(!0),this.#e.postApiV1ServerstateResume().pipe(E(()=>this.isResuming.set(!1))).subscribe()}ngAfterViewInit(){let n=this.#i.relayIsEnabled()?"longpoll":"websocket";this.#t.setConnectionMethod(n)}static \u0275fac=function(t){return new(t||a)};static \u0275cmp=C({type:a,selectors:[["app-status-bar"]],decls:14,vars:4,consts:()=>{let n;n=$localize`${"\uFFFD*9:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:pause${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Pause ${"\uFFFD/*9:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*10:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:play${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Start ${"\uFFFD/*10:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,n=j(n);let t;t=$localize`No scheduled tasks`;let e;return e=$localize` Loading ${"\uFFFD#2\uFFFD"}:START_TAG_SPK_SPINNER:${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_SPINNER:`,[n,t,e,[1,"current-backup"],[1,"current-backup-progress"],[1,"label"],[1,"label","label-loading"],[1,"current-backup-actions"],["spk-button","",3,"click"],[1,"raised","primary",3,"value"]]},template:function(t,e){if(t&1&&(s(0,"div",3)(1,"div",4),L(2,Pe,3,3)(3,Ne,7,8,"div",5)(4,Me,2,0,"div",5)(5,De,3,4,"div",6),l(),s(6,"div",7)(7,"button",8),u("click",function(){return e.pauseResume()}),P(8,0),L(9,Re,2,0)(10,Fe,2,0),N(),l(),s(11,"button",8),u("click",function(){return e.openThrottleSettingsDialog()}),s(12,"spk-icon"),T(13,"speedometer"),l()()()()),t&2){let i;_(2),v((i=e.serverState())!=null&&i.ActiveTask&&(!((i=e.statusData())==null||i.task==null)&&i.task.Status)&&((i=e.statusData())==null||i.task==null?null:i.task.Status)!=="Completed"?2:e.nextBackup().backup||e.nextBackup().time?3:(i=e.serverState())!=null&&i.ActiveTask?5:4),_(5),S("loader",e.isResuming()),_(2),v(e.isRunning()?9:10)}},dependencies:[oe,ce,J,Y,ne,se],styles:["[_nghost-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:1rem;min-height:3.875rem;border-bottom:1px solid var(--base-level-40)}.current-backup[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%;gap:.5rem}.current-backup-progress[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;min-width:18.75rem}.current-backup-progress[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.current-backup-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}.label-loading[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem}"],changeDetection:0})};export{x as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as u}from"./chunk-
|
|
1
|
+
import{a as u}from"./chunk-WX7L7V6J.js";import{$b as s,Mb as h,Ob as _,Pb as a,Qa as g,Za as d,ab as p,fb as m,pb as f,ra as r,sb as C,wb as o,xb as n}from"./chunk-W2F756OF.js";var v=[[["","title",""]],[["","description",""]],[["","action",""]],"*"],P=["[title]","[description]","[action]","*"];function M(e,l){e&1&&s(0,"Title")}function T(e,l){e&1&&(o(0,"spk-icon"),s(1,"caret-down"),n())}var c=class e{isActive=d(!1);disallowToggle=r(!1);ngOnInit(){this.disallowToggle()&&this.isActive.set(!0)}toggle(){this.isActive.set(!this.isActive())}static \u0275fac=function(t){return new(t||e)};static \u0275cmp=p({type:e,selectors:[["app-toggle-card"]],hostVars:2,hostBindings:function(t,i){t&2&&f("active",i.isActive())},inputs:{isActive:[1,"isActive"],disallowToggle:[1,"disallowToggle"]},outputs:{isActive:"isActiveChange"},ngContentSelectors:P,decls:11,vars:1,consts:[[1,"title"],[3,"click"],[1,"actions"],[1,"content"]],template:function(t,i){t&1&&(_(v),o(0,"header")(1,"div",0)(2,"h3",1),h("click",function(){return i.disallowToggle()||i.toggle()}),a(3,0,null,M,1,0),m(5,T,2,0,"spk-icon"),n(),a(6,1),n(),o(7,"div",2),a(8,2),n()(),o(9,"div",3),a(10,3),n()),t&2&&(g(5),C(i.disallowToggle()?-1:5))},dependencies:[u],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;border-radius:var(--shape-3);background-color:var(--base-level-20)}.active[_nghost-%COMP%] .content[_ngcontent-%COMP%]{max-height:1000px;transition:max-height 1s linear;padding:0 1rem 1rem}.active[_nghost-%COMP%] spk-icon[_ngcontent-%COMP%]{transform:rotate(180deg)}[_nghost-%COMP%] h3[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;font:var(--paragraph-10);cursor:pointer;-webkit-user-select:none;user-select:none}[_nghost-%COMP%] spk-icon[_ngcontent-%COMP%]{transform:rotate(0);transform-origin:center;transition:transform .2s ease}header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem}header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;flex:1 0}header[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]:empty{display:none}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem;padding:0 1rem;overflow:hidden;max-height:0;transition:max-height .25s linear,padding .25s linear}.content[_ngcontent-%COMP%]:empty{display:none}"],changeDetection:0})};export{c as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as d}from"./chunk-RHW5QVAY.js";import{a as p}from"./chunk-
|
|
1
|
+
import{a as d}from"./chunk-RHW5QVAY.js";import{a as p}from"./chunk-I3C2AEHI.js";import{b as o}from"./chunk-PTDSOPNK.js";import{E as i,F as s,P as u,S as c,Y as n,ua as a}from"./chunk-W2F756OF.js";var B="backupListOrderBy",k="backupListShowActualTimes",y=[{value:"id",label:$localize`Backup ID`},{value:"name",label:$localize`Backup name`},{value:"lastrun",label:$localize`Last run time`},{value:"nextrun",label:$localize`Next run time`},{value:"schedule",label:$localize`Is scheduled`},{value:"backend",label:$localize`Destination type`},{value:"sourcesize",label:$localize`Source size`},{value:"destinationsize",label:$localize`Destination size`},{value:"duration",label:$localize`Duration`},{value:"-id",label:$localize`Backup ID (decending)`},{value:"-name",label:$localize`Backup name (decending)`},{value:"-lastrun",label:$localize`Last run time (decending)`},{value:"-nextrun",label:$localize`Next run time (decending)`},{value:"-schedule",label:$localize`Is scheduled (decending)`},{value:"-backend",label:$localize`Destination type (decending)`},{value:"-sourcesize",label:$localize`Source size (decending)`},{value:"-destinationsize",label:$localize`Destination size (decending)`},{value:"-duration",label:$localize`Duration (decending)`}],m=class l{#t=n(p);#i=n(o);#n=null;#e=a([]);#a=a([]);#s=a(!1);#l=a(!1);#r=a(null);#c=a(this.#t.getItemParsed(k,!0)??"relative");#u=a(this.#t.getItemParsed(B,!0)??"id");orderByOptions=a(y);orderBy=this.#u.asReadonly();backups=this.#a.asReadonly();timeType=this.#c.asReadonly();backupsLoading=this.#s.asReadonly();startingBackup=this.#l.asReadonly();deletingBackup=this.#r.asReadonly();draftBackups=this.#e.asReadonly();addDraftBackup(e){let t=d();return this.#e.set([...this.#e(),{id:t,data:e}]),t}setOrderBy(e){this.#t.setItemParsed(B,e,!0),this.#u.set(e),this.getBackups(!0)}setTimeType(e){this.#t.setItemParsed(k,e,!0),this.#c.set(e)}removeDraftBackupById(e){this.#e.set(this.#e().filter(t=>t.id!==e))}getBackupById(e){return this.#a().find(t=>t.Backup?.ID===e)??null}getBackups(e=!1){let t=this.#n,r=Date.now(),h=t&&r-t<15*60*1e3;t&&r-t<100||!e&&h&&this.#a().length||(this.#n=r,this.#s.set(!0),this.#i.getApiV1Backups({orderBy:this.#u()}).pipe(i(1),u(b=>this.#a.set(b)),s(()=>this.#s.set(!1))).subscribe())}startBackup(e){this.#l.set(!0),this.#i.postApiV1BackupByIdStart({id:e}).pipe(i(1),u(()=>this.getBackups(!0)),s(()=>this.#l.set(!1))).subscribe()}deleteBackup(e){this.#r.set(e),this.#i.deleteApiV1BackupById({id:e}).pipe(i(1),s(()=>this.#r.set(null))).subscribe({next:()=>this.getBackups(!0)})}static \u0275fac=function(t){return new(t||l)};static \u0275prov=c({token:l,factory:l.\u0275fac,providedIn:"root"})};export{m as a};
|