@duplicati/ngclient 0.0.107 → 0.0.109
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.woff2 +0 -0
- package/{chunk-DAPUSIR2.js → chunk-25P4YYJP.js} +1 -1
- package/chunk-3HD2PHD2.js +1 -0
- package/chunk-3PO7PPQB.js +1 -0
- package/{chunk-2OPFT5E4.js → chunk-45WMLGXH.js} +1 -1
- package/chunk-4ITKST6C.js +1 -0
- package/chunk-5HITPR54.js +1 -0
- package/chunk-5NOK4P5Z.js +1 -0
- package/chunk-6HM2RSLN.js +1 -0
- package/chunk-6X3MMKNW.js +1 -0
- package/chunk-6XDIRXYR.js +1 -0
- package/chunk-77AQOQJP.js +1 -0
- package/chunk-7FENUDO7.js +1 -0
- package/{chunk-CDJZWKLX.js → chunk-7MCMWHKB.js} +1 -1
- package/chunk-BZD5QKVL.js +1 -0
- package/{chunk-MFDCQK6M.js → chunk-C226INOP.js} +1 -1
- package/{chunk-C5CIJ4OA.js → chunk-DMRBLBVC.js} +1 -1
- package/{chunk-47X3OGYT.js → chunk-EHCHWANP.js} +1 -1
- package/chunk-EUWILPHJ.js +1 -0
- package/chunk-F4ZCW572.js +1 -0
- package/chunk-FYBLCHWM.js +1 -0
- package/{chunk-3X4E4YMJ.js → chunk-GJK7DA4F.js} +1 -1
- package/{chunk-SAVY3OEX.js → chunk-H4FB6PPA.js} +1 -1
- package/{chunk-YC34F3JB.js → chunk-HDLTGBAP.js} +1 -1
- package/{chunk-ZTUAQHOT.js → chunk-IDYYAKHE.js} +1 -1
- package/chunk-IIPWP6NO.js +1 -0
- package/chunk-IYFU5MHZ.js +2 -0
- package/{chunk-V5KJVWEA.js → chunk-JY47MUG3.js} +1 -1
- package/chunk-JZCXYOBH.js +1 -0
- package/chunk-LM5DGJFV.js +2 -0
- package/chunk-LPR55M6G.js +1 -0
- package/{chunk-7WAXIXTI.js → chunk-LSGMRQZJ.js} +1 -1
- package/chunk-MFKBZ7PS.js +8 -0
- package/chunk-NHU6FF6A.js +1 -0
- package/{chunk-IA2ZYSD7.js → chunk-NOO722WB.js} +1 -1
- package/chunk-ONF7O7HR.js +2 -0
- package/{chunk-2AA7RP36.js → chunk-OUUFQQAS.js} +1 -1
- package/chunk-PWB5YI3X.js +1 -0
- package/chunk-Q2N4WWEF.js +1 -0
- package/chunk-Q2QM66LC.js +1 -0
- package/{chunk-5H7QZHN7.js → chunk-R3TFFIA7.js} +1 -1
- package/{chunk-UKNGRIBK.js → chunk-SVOGBC6V.js} +1 -1
- package/chunk-TSSJKZOC.js +1 -0
- package/{chunk-7EYE3BSS.js → chunk-UN5O2OYP.js} +1 -1
- package/{chunk-6WM5WVZV.js → chunk-UY4L2RBZ.js} +1 -1
- package/chunk-V2ZMQ7WX.js +1 -0
- package/{chunk-47JKJRCG.js → chunk-V7ZDXIWA.js} +1 -1
- package/{chunk-HWP66GX6.js → chunk-VPCHNJ7X.js} +1 -1
- package/chunk-W33OFVQJ.js +1 -0
- package/chunk-WAKYTFC3.js +2 -0
- package/chunk-WB3ZZ4SC.js +1 -0
- package/{chunk-436PKZSE.js → chunk-WDQFR5II.js} +1 -1
- package/chunk-WMLBEUM4.js +1 -0
- package/{chunk-DOWGPVGC.js → chunk-ZELQR5BO.js} +1 -1
- package/{chunk-6S3SP4UJ.js → chunk-ZMDO52TL.js} +1 -1
- package/index.html +1 -1
- package/main-CFTZX7VV.js +1 -0
- package/package.json +1 -1
- package/chunk-2WMFHNHQ.js +0 -1
- package/chunk-2YYGHWNR.js +0 -1
- package/chunk-3LISV2IH.js +0 -1
- package/chunk-46B73K6X.js +0 -1
- package/chunk-5MW7LJ7A.js +0 -1
- package/chunk-5VR5J6BY.js +0 -2
- package/chunk-5YI264K5.js +0 -1
- package/chunk-5ZRMELDO.js +0 -1
- package/chunk-6TFLOCCR.js +0 -1
- package/chunk-DVHNKXUN.js +0 -1
- package/chunk-FEJAAP54.js +0 -1
- package/chunk-FSGJ5KIH.js +0 -1
- package/chunk-IMFJPM7A.js +0 -1
- package/chunk-JAYNAMCB.js +0 -1
- package/chunk-JCXYUHPV.js +0 -1
- package/chunk-JQPXZWKR.js +0 -1
- package/chunk-KT6FGU6G.js +0 -1
- package/chunk-MZ473NLM.js +0 -2
- package/chunk-OBKC5UXL.js +0 -1
- package/chunk-OUD6FSMZ.js +0 -1
- package/chunk-PTDSOPNK.js +0 -1
- package/chunk-QWIDEDE7.js +0 -1
- package/chunk-RP6N6NQM.js +0 -1
- package/chunk-UN45NEVN.js +0 -1
- package/chunk-W2VC37XO.js +0 -1
- package/chunk-WHVFYB7T.js +0 -1
- package/chunk-XOS6WTCD.js +0 -8
- package/chunk-XY5EWT4P.js +0 -2
- package/chunk-Y4K6X2Q2.js +0 -1
- package/chunk-YDRXW35Y.js +0 -2
- package/chunk-YWZYRSFT.js +0 -1
- package/main-6PKVU3M4.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as le,b as pe}from"./chunk-6DH6O5YE.js";import{a as re}from"./chunk-DAPUSIR2.js";import{a as Y}from"./chunk-SAVY3OEX.js";import{b as Z,c as ee,e as te,h as ie,j as ne,s as oe}from"./chunk-T2OUHRUV.js";import{A as Q,a as K,g as U,l as W,o as X,t as j,y as H,z as J}from"./chunk-WX7L7V6J.js";import{$b as m,Ab as k,Ac as R,Cb as x,Gb as $,Hb as P,Ib as q,Mb as f,Nb as s,Qa as l,Sb as g,Y as B,Za as G,_b as E,ab as z,ac as L,bc as F,da as d,ea as u,ec as v,fb as C,fc as D,gc as b,nb as _,ra as I,sb as S,sc as A,tb as V,ua as h,ub as O,vb as y,wb as p,xb as a,yb as M,zb as N}from"./chunk-W2F756OF.js";import{a as T,b as w}from"./chunk-7CGTOI24.js";function se(n,o){if(n&1){let e=x();p(0,"button",14),f("click",function(){d(e);let t=s();return u(t.addFreeTextSetting())}),$(1,5),M(2,"spk-icon"),P(),a()}}function me(n,o){if(n&1){let e=x();p(0,"button",16,0),f("click",function(){let t=d(e).$implicit,r=s(2);return u(r.addSetting(t))}),m(2),a()}if(n&2){let e=o.$implicit;l(2),L(e.name)}}function _e(n,o){if(n&1&&(p(0,"h3",7),m(1),a(),O(2,me,3,1,"button",15,V)),n&2){let e=o.$implicit;l(),L(e.displayName),l(),y(e.options)}}function ce(n,o){n&1&&(p(0,"div",12),m(1,"Add a setting above to get started."),a())}function de(n,o){if(n&1){let e=x();p(0,"div",17)(1,"label"),m(2),a(),p(3,"div",23)(4,"spk-form-field")(5,"input",24),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateFreeTextSettingName(r,t))}),a(),p(6,"spk-icon",25),m(7,"rectangle-dashed"),a()(),p(8,"spk-form-field")(9,"input",24),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a(),p(10,"spk-icon",25),m(11,"textbox"),a()()()()}if(n&2){let e=s().$implicit;l(2),F(" ",e.FormView.shortDescription," "),l(3),_("ngModel",e.Name),l(4),_("ngModel",e.Value())}}function ue(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function ge(n,o){if(n&1){let e=x();p(0,"app-file-tree",18)(1,"label",26),m(2),C(3,ue,3,1,"spk-tooltip",27),a(),p(4,"input",28),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a()()}if(n&2){let e=s(),i=e.$implicit,t=e.$index;_("startingPath",i.Value())("accepts",i.FormView.accepts)("showFiles",!0)("showHiddenNodes",!0)("selectFiles",!0),l(),g("for","destination-",i.Name,"-",t,""),l(),F(" ",i.FormView.shortDescription," "),l(),S(i.FormView.longDescription?3:-1),l(),g("id","destination-",i.Name,"-",t,""),_("ngModel",i.Value())}}function Ce(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function xe(n,o){if(n&1){let e=x();p(0,"app-file-tree",19)(1,"label",26),m(2),C(3,Ce,3,1,"spk-tooltip",27),a(),p(4,"input",28),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a()()}if(n&2){let e=s(),i=e.$implicit,t=e.$index;_("startingPath",i.Value()),l(),g("for","destination-",i.Name,"-",t,""),l(),F(" ",i.FormView.shortDescription," "),l(),S(i.FormView.longDescription?3:-1),l(),g("id","destination-",i.Name,"-",t,""),_("ngModel",i.Value())}}function fe(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function Se(n,o){n&1&&(p(0,"spk-icon",25),m(1,"link"),a())}function Fe(n,o){n&1&&(p(0,"spk-icon",25),m(1,"textbox"),a())}function Te(n,o){if(n&1){let e=x();p(0,"spk-form-field")(1,"label",26),m(2),C(3,fe,3,1,"spk-tooltip",27),a(),p(4,"input",28),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a(),C(5,Se,2,0,"spk-icon",25)(6,Fe,2,0,"spk-icon",25),a()}if(n&2){let e=s(),i=e.$implicit,t=e.$index;l(),g("for","destination-",i.Name,"-",t,""),l(),F(" ",i.FormView.shortDescription," "),l(),S(i.FormView.longDescription?3:-1),l(),g("id","destination-",i.Name,"-",t,""),_("ngModel",i.Value()),l(),S(i.FormView.type==="Path"?5:6)}}function we(n,o){if(n&1){let e=x();p(0,"spk-icon",31),f("click",function(){d(e);let t=s(2).$implicit;return u(t.showPassword=!t.showPassword)}),m(1," eye "),a()}}function Ve(n,o){if(n&1){let e=x();p(0,"spk-icon",31),f("click",function(){d(e);let t=s(2).$implicit;return u(t.showPassword=!t.showPassword)}),m(1," eye-slash "),a()}}function Oe(n,o){if(n&1){let e=x();p(0,"spk-form-field")(1,"label",26),m(2),a(),p(3,"input",29),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a(),p(4,"spk-icon",25),m(5,"password"),a(),C(6,we,2,0,"spk-icon",30)(7,Ve,2,0,"spk-icon",30),a()}if(n&2){let e=s(),i=e.$implicit,t=e.$index;l(),g("for","destination-",i.Name,"-",t,""),l(),F(" ",i.FormView.shortDescription," "),l(),g("id","destination-",i.Name,"-",t,""),_("type",i.showPassword?"text":"password")("ngModel",i.Value()),l(3),S(i.showPassword?6:7)}}function ye(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function ke(n,o){if(n&1&&m(0),n&2){let e=o.$implicit;F(" ",e," ")}}function Ie(n,o){if(n&1){let e=x();p(0,"spk-select",32)(1,"label",26),m(2),C(3,ye,3,1,"spk-tooltip",27),a(),p(4,"input",28),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a()(),C(5,ke,1,1,"ng-template",null,1,A)}if(n&2){let e=E(6),i=s(),t=i.$implicit,r=i.$index;_("options",t.FormView.options)("isClearable",!1)("optionTemplate",e),l(),g("for","destination-",t.Name,"-",r,""),l(),F(" ",t.FormView.shortDescription," "),l(),S(t.FormView.longDescription?3:-1),l(),g("id","destination-",t.Name,"-",r,""),_("ngModel",t.Value())}}function he(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function Me(n,o){if(n&1){let e=x();p(0,"app-size",33),b("ngModelChange",function(t){d(e);let r=s().$implicit;return D(r.Value,t)||(r.Value=t),u(t)}),p(1,"label",26),m(2),C(3,he,3,1,"spk-tooltip",27),a()()}if(n&2){let e,i=s(),t=i.$implicit,r=i.$index;_("inputType",t.Name),v("ngModel",t.Value),_("customId","destination-{{ item.Name }}-{{ $index }}"),l(),g("for","destination-",t.Name,"-",r,""),l(),F(" ",(e=t.FormView.shortDescription)!==null&&e!==void 0?e:t.FormView.name," "),l(),S(t.FormView.longDescription?3:-1)}}function Ne(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function $e(n,o){if(n&1){let e=x();p(0,"spk-form-field")(1,"label",26),m(2),C(3,Ne,3,1,"spk-tooltip",27),a(),p(4,"input",34),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a(),p(5,"spk-icon",25),m(6,"numpad"),a()()}if(n&2){let e=s(),i=e.$implicit,t=e.$index;l(),g("for","destination-",i.Name,"-",t,""),l(),F(" ",i.FormView.shortDescription," "),l(),S(i.FormView.longDescription?3:-1),l(),g("id","destination-",i.Name,"-",t,""),_("ngModel",i.Value())}}function Pe(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function Ee(n,o){if(n&1){let e=x();p(0,"spk-toggle",21)(1,"label",26),m(2),C(3,Pe,3,1,"spk-tooltip",27),a(),p(4,"input",35),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a()()}if(n&2){let e=s(),i=e.$implicit,t=e.$index;l(),g("for","destination-",i.Name,"-",t,""),l(),F(" ",i.FormView.shortDescription," "),l(),S(i.FormView.longDescription?3:-1),l(),g("id","destination-",i.Name,"-",t,""),_("ngModel",i.Value())}}function Le(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function ve(n,o){if(n&1&&m(0),n&2){let e=o.$implicit;F(" ",e," ")}}function De(n,o){if(n&1){let e=x();p(0,"spk-select",36)(1,"label",26),m(2),C(3,Le,3,1,"spk-tooltip",27),a(),p(4,"input",37),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a()(),C(5,ve,1,1,"ng-template",null,2,A)}if(n&2){let e=E(6),i=s(),t=i.$implicit,r=i.$index;_("options",t.FormView.options)("selectMultiple",!0)("optionTemplate",e),l(),g("for","destination-",t.Name,"-",r,""),l(),F(" ",t.FormView.shortDescription," "),l(),S(t.FormView.longDescription?3:-1),l(),_("ngModel",t.Value())}}function be(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function Ae(n,o){if(n&1){let e=x();p(0,"app-timespan",33),b("ngModelChange",function(t){d(e);let r=s().$implicit;return D(r.Value,t)||(r.Value=t),u(t)}),p(1,"label",26),m(2),C(3,be,3,1,"spk-tooltip",27),a()()}if(n&2){let e,i=s(),t=i.$implicit,r=i.$index;_("inputType",t.Name),v("ngModel",t.Value),_("customId","destination-{{ item.Name }}-{{ $index }}"),l(),g("for","destination-",t.Name,"-",r,""),l(),F(" ",(e=t.FormView.shortDescription)!==null&&e!==void 0?e:t.FormView.name," "),l(),S(t.FormView.longDescription?3:-1)}}function Re(n,o){if(n&1){let e=x();p(0,"div",13),C(1,de,12,3,"div",17)(2,ge,5,14,"app-file-tree",18)(3,xe,5,10,"app-file-tree",19)(4,Te,7,10,"spk-form-field")(5,Oe,8,10,"spk-form-field")(6,Ie,7,12)(7,Me,4,8,"app-size",20)(8,$e,7,9,"spk-form-field")(9,Ee,5,9,"spk-toggle",21)(10,De,7,9)(11,Ae,4,8,"app-timespan",20),p(12,"button",22),f("click",function(){let t=d(e).$implicit,r=s();return u(r.removeSetting(t))}),p(13,"spk-icon"),m(14,"x-bold"),a()()()}if(n&2){let e=o.$implicit;l(),S(e.FormView.type==="FreeText"?1:e.FormView.type==="FileTree"?2:e.FormView.type==="FolderTree"?3:e.FormView.type==="String"||e.FormView.type==="Path"||e.FormView.type==="Decimal"?4:e.FormView.type==="Password"?5:e.FormView.type==="Enumeration"?6:e.FormView.type==="Size"?7:e.FormView.type==="Integer"?8:e.FormView.type==="Boolean"?9:e.FormView.type==="Flags"?10:e.FormView.type==="Timespan"||e.FormView.type==="DateTime"?11:-1)}}var ae=class n{#e=B(Y);options=G.required();hiddenOptions=I([]);hasFreeTextSettings=I(!1);allOptionsGrouped=this.#e.allOptionsGrouped;allOptions=this.#e.allOptions;selectedSettings=R(()=>{let o=this.hiddenOptions();return this.options().map(i=>{let t=this.allOptions().find(r=>r.name===i.Name);if(t&&!o.includes(t.name)){let r=i.Value??"";t.type==="Boolean"&&(r=r&&r.toLowerCase()==="true"||!1),t.type==="Integer"&&(r=parseInt(r)||0);let c=h(r);return w(T({},i),{Value:c,FormView:t})}else if(this.hasFreeTextSettings())return w(T({},i),{Value:h(i.Value),FormView:{name:i.Name,type:"FreeText",shortDescription:"Custom settings argument",longDescription:"Custom settings argument"}});return null}).filter(i=>i!==null)});nonSelectedOptionsGrouped=R(()=>{let o=this.options().map(i=>i.Name),e=this.hiddenOptions();return this.allOptionsGrouped().map(i=>w(T({},i),{options:i.options.filter(t=>!o.includes(t.name)&&!e.includes(t.name))})).filter(i=>i.options.length>0)});addFreeTextSetting(){this.hasFreeTextSettings()&&this.options.update(o=>[...o,{Filter:null,Name:"",Value:""}])}addSetting(o){this.options.update(e=>{let i=o.defaultValue??"";return o.type==="Boolean"&&(i=i.toLowerCase()==="true"||!1),o.type==="Integer"&&(i=parseInt(i)||0),[...e,{Name:o.name,Value:i}]})}updateSettingValue(o,e){this.options.update(i=>{let t=[...i],r=t.findIndex(c=>c.Name===o.Name);return o.FormView.type==="Boolean"?(t[r].Value=e?"True":"False",t):o.FormView.type==="Integer"?(t[r].Value=e.toString(),t):(t[r].Value=e,t)})}updateFreeTextSettingName(o,e){this.options.update(i=>{let t=[...i],r=t.findIndex(c=>c.Name===o.Name);return t[r].Name=e,t})}removeSetting(o){this.options.update(e=>e.filter(i=>i.Name!==o.Name))}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=z({type:n,selectors:[["app-options-list"]],inputs:{options:[1,"options"],hiddenOptions:[1,"hiddenOptions"],hasFreeTextSettings:[1,"hasFreeTextSettings"]},outputs:{options:"optionsChange"},decls:16,vars:4,consts:()=>{let o;o=$localize`Advanced options`;let e;e=$localize` Add advanced option ${"\uFFFD#9\uFFFD"}:START_TAG_SPK_ICON:plus${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let i;return i=$localize` New custom option ${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:pen${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON:`,[["option",""],["enumOptionTemplate",""],["optionTemplate",""],o,e,i,[3,"disallowToggle"],["title",""],[1,"actions"],["spk-button","","type","button",1,"outlined","small"],[3,"searchable"],["menu",""],[1,"placeholder"],[1,"field-row"],["spk-button","","type","button",1,"outlined","small",3,"click"],["type","button"],["type","button",3,"click"],[1,"form-column"],[3,"startingPath","accepts","showFiles","showHiddenNodes","selectFiles"],[3,"startingPath"],[3,"inputType","ngModel","customId"],[1,"primary","raised"],["spk-button","","type","button",1,"outlined","remove-btn",3,"click"],[1,"form-row"],["type","text",3,"ngModelChange","ngModel"],["prefix",""],[3,"for"],[1,"primary",3,"message"],["type","text",3,"ngModelChange","id","ngModel"],["autocomplete","off",3,"ngModelChange","type","id","ngModel"],["suffix","",1,"clickable"],["suffix","",1,"clickable",3,"click"],[3,"options","isClearable","optionTemplate"],[3,"ngModelChange","inputType","ngModel","customId"],["type","number",3,"ngModelChange","id","ngModel"],["type","checkbox",3,"ngModelChange","id","ngModel"],[1,"primary","raised",3,"options","selectMultiple","optionTemplate"],["type","text","id","text",3,"ngModelChange","ngModel"]]},template:function(e,i){e&1&&(p(0,"spk-toggle-card",6),N(1,7)(2),q(3,3),k(),p(4,"div",8),C(5,se,3,0,"button",9),p(6,"spk-menu",10)(7,"button",9),$(8,4),M(9,"spk-icon"),P(),a(),N(10,11),O(11,_e,4,1,null,null,V),k(),a()(),k(),C(13,ce,2,0,"div",12),O(14,Re,15,1,"div",13,V),a()),e&2&&(_("disallowToggle",!0),l(5),S(i.hasFreeTextSettings()?5:-1),l(),_("searchable",!0),l(5),y(i.nonSelectedOptionsGrouped()),l(2),S(i.selectedSettings().length===0?13:-1),l(),y(i.selectedSettings()))},dependencies:[oe,ee,ne,Z,te,ie,re,H,W,U,X,Q,K,j,J,le,pe],styles:["[_nghost-%COMP%]{display:block}spk-select[_ngcontent-%COMP%]{--miw: p2r(120)}spk-toggle[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{font-size:1rem}.placeholder[_ngcontent-%COMP%]{color:var(--base-level-60R);text-align:center;padding:2rem 1rem}.field-row[_ngcontent-%COMP%]{display:grid;align-items:center;grid-template-columns:1fr 2.5rem;gap:.5rem}.field-row[_ngcontent-%COMP%] .remove-btn[_ngcontent-%COMP%]{align-self:flex-end}.form-column[_ngcontent-%COMP%]{display:flex;gap:.25rem;flex-direction:column}.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}.form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:3fr 1fr;gap:.5rem;align-items:flex-end}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;justify-content:flex-end}"],changeDetection:0})};export{ae as a};
|
|
1
|
+
import{a as le,b as pe}from"./chunk-6DH6O5YE.js";import{a as re}from"./chunk-25P4YYJP.js";import{a as Y}from"./chunk-H4FB6PPA.js";import{b as Z,c as ee,e as te,h as ie,j as ne,s as oe}from"./chunk-T2OUHRUV.js";import{A as Q,a as K,g as U,l as W,o as X,t as j,y as H,z as J}from"./chunk-WX7L7V6J.js";import{$b as m,Ab as k,Ac as R,Cb as x,Gb as $,Hb as P,Ib as q,Mb as f,Nb as s,Qa as l,Sb as g,Y as B,Za as G,_b as E,ab as z,ac as L,bc as F,da as d,ea as u,ec as v,fb as C,fc as D,gc as b,nb as _,ra as I,sb as S,sc as A,tb as V,ua as h,ub as O,vb as y,wb as p,xb as a,yb as M,zb as N}from"./chunk-W2F756OF.js";import{a as T,b as w}from"./chunk-7CGTOI24.js";function se(n,o){if(n&1){let e=x();p(0,"button",14),f("click",function(){d(e);let t=s();return u(t.addFreeTextSetting())}),$(1,5),M(2,"spk-icon"),P(),a()}}function me(n,o){if(n&1){let e=x();p(0,"button",16,0),f("click",function(){let t=d(e).$implicit,r=s(2);return u(r.addSetting(t))}),m(2),a()}if(n&2){let e=o.$implicit;l(2),L(e.name)}}function _e(n,o){if(n&1&&(p(0,"h3",7),m(1),a(),O(2,me,3,1,"button",15,V)),n&2){let e=o.$implicit;l(),L(e.displayName),l(),y(e.options)}}function ce(n,o){n&1&&(p(0,"div",12),m(1,"Add a setting above to get started."),a())}function de(n,o){if(n&1){let e=x();p(0,"div",17)(1,"label"),m(2),a(),p(3,"div",23)(4,"spk-form-field")(5,"input",24),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateFreeTextSettingName(r,t))}),a(),p(6,"spk-icon",25),m(7,"rectangle-dashed"),a()(),p(8,"spk-form-field")(9,"input",24),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a(),p(10,"spk-icon",25),m(11,"textbox"),a()()()()}if(n&2){let e=s().$implicit;l(2),F(" ",e.FormView.shortDescription," "),l(3),_("ngModel",e.Name),l(4),_("ngModel",e.Value())}}function ue(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function ge(n,o){if(n&1){let e=x();p(0,"app-file-tree",18)(1,"label",26),m(2),C(3,ue,3,1,"spk-tooltip",27),a(),p(4,"input",28),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a()()}if(n&2){let e=s(),i=e.$implicit,t=e.$index;_("startingPath",i.Value())("accepts",i.FormView.accepts)("showFiles",!0)("showHiddenNodes",!0)("selectFiles",!0),l(),g("for","destination-",i.Name,"-",t,""),l(),F(" ",i.FormView.shortDescription," "),l(),S(i.FormView.longDescription?3:-1),l(),g("id","destination-",i.Name,"-",t,""),_("ngModel",i.Value())}}function Ce(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function xe(n,o){if(n&1){let e=x();p(0,"app-file-tree",19)(1,"label",26),m(2),C(3,Ce,3,1,"spk-tooltip",27),a(),p(4,"input",28),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a()()}if(n&2){let e=s(),i=e.$implicit,t=e.$index;_("startingPath",i.Value()),l(),g("for","destination-",i.Name,"-",t,""),l(),F(" ",i.FormView.shortDescription," "),l(),S(i.FormView.longDescription?3:-1),l(),g("id","destination-",i.Name,"-",t,""),_("ngModel",i.Value())}}function fe(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function Se(n,o){n&1&&(p(0,"spk-icon",25),m(1,"link"),a())}function Fe(n,o){n&1&&(p(0,"spk-icon",25),m(1,"textbox"),a())}function Te(n,o){if(n&1){let e=x();p(0,"spk-form-field")(1,"label",26),m(2),C(3,fe,3,1,"spk-tooltip",27),a(),p(4,"input",28),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a(),C(5,Se,2,0,"spk-icon",25)(6,Fe,2,0,"spk-icon",25),a()}if(n&2){let e=s(),i=e.$implicit,t=e.$index;l(),g("for","destination-",i.Name,"-",t,""),l(),F(" ",i.FormView.shortDescription," "),l(),S(i.FormView.longDescription?3:-1),l(),g("id","destination-",i.Name,"-",t,""),_("ngModel",i.Value()),l(),S(i.FormView.type==="Path"?5:6)}}function we(n,o){if(n&1){let e=x();p(0,"spk-icon",31),f("click",function(){d(e);let t=s(2).$implicit;return u(t.showPassword=!t.showPassword)}),m(1," eye "),a()}}function Ve(n,o){if(n&1){let e=x();p(0,"spk-icon",31),f("click",function(){d(e);let t=s(2).$implicit;return u(t.showPassword=!t.showPassword)}),m(1," eye-slash "),a()}}function Oe(n,o){if(n&1){let e=x();p(0,"spk-form-field")(1,"label",26),m(2),a(),p(3,"input",29),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a(),p(4,"spk-icon",25),m(5,"password"),a(),C(6,we,2,0,"spk-icon",30)(7,Ve,2,0,"spk-icon",30),a()}if(n&2){let e=s(),i=e.$implicit,t=e.$index;l(),g("for","destination-",i.Name,"-",t,""),l(),F(" ",i.FormView.shortDescription," "),l(),g("id","destination-",i.Name,"-",t,""),_("type",i.showPassword?"text":"password")("ngModel",i.Value()),l(3),S(i.showPassword?6:7)}}function ye(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function ke(n,o){if(n&1&&m(0),n&2){let e=o.$implicit;F(" ",e," ")}}function Ie(n,o){if(n&1){let e=x();p(0,"spk-select",32)(1,"label",26),m(2),C(3,ye,3,1,"spk-tooltip",27),a(),p(4,"input",28),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a()(),C(5,ke,1,1,"ng-template",null,1,A)}if(n&2){let e=E(6),i=s(),t=i.$implicit,r=i.$index;_("options",t.FormView.options)("isClearable",!1)("optionTemplate",e),l(),g("for","destination-",t.Name,"-",r,""),l(),F(" ",t.FormView.shortDescription," "),l(),S(t.FormView.longDescription?3:-1),l(),g("id","destination-",t.Name,"-",r,""),_("ngModel",t.Value())}}function he(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function Me(n,o){if(n&1){let e=x();p(0,"app-size",33),b("ngModelChange",function(t){d(e);let r=s().$implicit;return D(r.Value,t)||(r.Value=t),u(t)}),p(1,"label",26),m(2),C(3,he,3,1,"spk-tooltip",27),a()()}if(n&2){let e,i=s(),t=i.$implicit,r=i.$index;_("inputType",t.Name),v("ngModel",t.Value),_("customId","destination-{{ item.Name }}-{{ $index }}"),l(),g("for","destination-",t.Name,"-",r,""),l(),F(" ",(e=t.FormView.shortDescription)!==null&&e!==void 0?e:t.FormView.name," "),l(),S(t.FormView.longDescription?3:-1)}}function Ne(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function $e(n,o){if(n&1){let e=x();p(0,"spk-form-field")(1,"label",26),m(2),C(3,Ne,3,1,"spk-tooltip",27),a(),p(4,"input",34),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a(),p(5,"spk-icon",25),m(6,"numpad"),a()()}if(n&2){let e=s(),i=e.$implicit,t=e.$index;l(),g("for","destination-",i.Name,"-",t,""),l(),F(" ",i.FormView.shortDescription," "),l(),S(i.FormView.longDescription?3:-1),l(),g("id","destination-",i.Name,"-",t,""),_("ngModel",i.Value())}}function Pe(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function Ee(n,o){if(n&1){let e=x();p(0,"spk-toggle",21)(1,"label",26),m(2),C(3,Pe,3,1,"spk-tooltip",27),a(),p(4,"input",35),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a()()}if(n&2){let e=s(),i=e.$implicit,t=e.$index;l(),g("for","destination-",i.Name,"-",t,""),l(),F(" ",i.FormView.shortDescription," "),l(),S(i.FormView.longDescription?3:-1),l(),g("id","destination-",i.Name,"-",t,""),_("ngModel",i.Value())}}function Le(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function ve(n,o){if(n&1&&m(0),n&2){let e=o.$implicit;F(" ",e," ")}}function De(n,o){if(n&1){let e=x();p(0,"spk-select",36)(1,"label",26),m(2),C(3,Le,3,1,"spk-tooltip",27),a(),p(4,"input",37),f("ngModelChange",function(t){d(e);let r=s().$implicit,c=s();return u(c.updateSettingValue(r,t))}),a()(),C(5,ve,1,1,"ng-template",null,2,A)}if(n&2){let e=E(6),i=s(),t=i.$implicit,r=i.$index;_("options",t.FormView.options)("selectMultiple",!0)("optionTemplate",e),l(),g("for","destination-",t.Name,"-",r,""),l(),F(" ",t.FormView.shortDescription," "),l(),S(t.FormView.longDescription?3:-1),l(),_("ngModel",t.Value())}}function be(n,o){if(n&1&&(p(0,"spk-tooltip",27)(1,"spk-icon"),m(2,"question"),a()()),n&2){let e=s(2).$implicit;_("message",e.FormView.longDescription)}}function Ae(n,o){if(n&1){let e=x();p(0,"app-timespan",33),b("ngModelChange",function(t){d(e);let r=s().$implicit;return D(r.Value,t)||(r.Value=t),u(t)}),p(1,"label",26),m(2),C(3,be,3,1,"spk-tooltip",27),a()()}if(n&2){let e,i=s(),t=i.$implicit,r=i.$index;_("inputType",t.Name),v("ngModel",t.Value),_("customId","destination-{{ item.Name }}-{{ $index }}"),l(),g("for","destination-",t.Name,"-",r,""),l(),F(" ",(e=t.FormView.shortDescription)!==null&&e!==void 0?e:t.FormView.name," "),l(),S(t.FormView.longDescription?3:-1)}}function Re(n,o){if(n&1){let e=x();p(0,"div",13),C(1,de,12,3,"div",17)(2,ge,5,14,"app-file-tree",18)(3,xe,5,10,"app-file-tree",19)(4,Te,7,10,"spk-form-field")(5,Oe,8,10,"spk-form-field")(6,Ie,7,12)(7,Me,4,8,"app-size",20)(8,$e,7,9,"spk-form-field")(9,Ee,5,9,"spk-toggle",21)(10,De,7,9)(11,Ae,4,8,"app-timespan",20),p(12,"button",22),f("click",function(){let t=d(e).$implicit,r=s();return u(r.removeSetting(t))}),p(13,"spk-icon"),m(14,"x-bold"),a()()()}if(n&2){let e=o.$implicit;l(),S(e.FormView.type==="FreeText"?1:e.FormView.type==="FileTree"?2:e.FormView.type==="FolderTree"?3:e.FormView.type==="String"||e.FormView.type==="Path"||e.FormView.type==="Decimal"?4:e.FormView.type==="Password"?5:e.FormView.type==="Enumeration"?6:e.FormView.type==="Size"?7:e.FormView.type==="Integer"?8:e.FormView.type==="Boolean"?9:e.FormView.type==="Flags"?10:e.FormView.type==="Timespan"||e.FormView.type==="DateTime"?11:-1)}}var ae=class n{#e=B(Y);options=G.required();hiddenOptions=I([]);hasFreeTextSettings=I(!1);allOptionsGrouped=this.#e.allOptionsGrouped;allOptions=this.#e.allOptions;selectedSettings=R(()=>{let o=this.hiddenOptions();return this.options().map(i=>{let t=this.allOptions().find(r=>r.name===i.Name);if(t&&!o.includes(t.name)){let r=i.Value??"";t.type==="Boolean"&&(r=r&&r.toLowerCase()==="true"||!1),t.type==="Integer"&&(r=parseInt(r)||0);let c=h(r);return w(T({},i),{Value:c,FormView:t})}else if(this.hasFreeTextSettings())return w(T({},i),{Value:h(i.Value),FormView:{name:i.Name,type:"FreeText",shortDescription:"Custom settings argument",longDescription:"Custom settings argument"}});return null}).filter(i=>i!==null)});nonSelectedOptionsGrouped=R(()=>{let o=this.options().map(i=>i.Name),e=this.hiddenOptions();return this.allOptionsGrouped().map(i=>w(T({},i),{options:i.options.filter(t=>!o.includes(t.name)&&!e.includes(t.name))})).filter(i=>i.options.length>0)});addFreeTextSetting(){this.hasFreeTextSettings()&&this.options.update(o=>[...o,{Filter:null,Name:"",Value:""}])}addSetting(o){this.options.update(e=>{let i=o.defaultValue??"";return o.type==="Boolean"&&(i=i.toLowerCase()==="true"||!1),o.type==="Integer"&&(i=parseInt(i)||0),[...e,{Name:o.name,Value:i}]})}updateSettingValue(o,e){this.options.update(i=>{let t=[...i],r=t.findIndex(c=>c.Name===o.Name);return o.FormView.type==="Boolean"?(t[r].Value=e?"True":"False",t):o.FormView.type==="Integer"?(t[r].Value=e.toString(),t):(t[r].Value=e,t)})}updateFreeTextSettingName(o,e){this.options.update(i=>{let t=[...i],r=t.findIndex(c=>c.Name===o.Name);return t[r].Name=e,t})}removeSetting(o){this.options.update(e=>e.filter(i=>i.Name!==o.Name))}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=z({type:n,selectors:[["app-options-list"]],inputs:{options:[1,"options"],hiddenOptions:[1,"hiddenOptions"],hasFreeTextSettings:[1,"hasFreeTextSettings"]},outputs:{options:"optionsChange"},decls:16,vars:4,consts:()=>{let o;o=$localize`Advanced options`;let e;e=$localize` Add advanced option ${"\uFFFD#9\uFFFD"}:START_TAG_SPK_ICON:plus${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let i;return i=$localize` New custom option ${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:pen${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON:`,[["option",""],["enumOptionTemplate",""],["optionTemplate",""],o,e,i,[3,"disallowToggle"],["title",""],[1,"actions"],["spk-button","","type","button",1,"outlined","small"],[3,"searchable"],["menu",""],[1,"placeholder"],[1,"field-row"],["spk-button","","type","button",1,"outlined","small",3,"click"],["type","button"],["type","button",3,"click"],[1,"form-column"],[3,"startingPath","accepts","showFiles","showHiddenNodes","selectFiles"],[3,"startingPath"],[3,"inputType","ngModel","customId"],[1,"primary","raised"],["spk-button","","type","button",1,"outlined","remove-btn",3,"click"],[1,"form-row"],["type","text",3,"ngModelChange","ngModel"],["prefix",""],[3,"for"],[1,"primary",3,"message"],["type","text",3,"ngModelChange","id","ngModel"],["autocomplete","off",3,"ngModelChange","type","id","ngModel"],["suffix","",1,"clickable"],["suffix","",1,"clickable",3,"click"],[3,"options","isClearable","optionTemplate"],[3,"ngModelChange","inputType","ngModel","customId"],["type","number",3,"ngModelChange","id","ngModel"],["type","checkbox",3,"ngModelChange","id","ngModel"],[1,"primary","raised",3,"options","selectMultiple","optionTemplate"],["type","text","id","text",3,"ngModelChange","ngModel"]]},template:function(e,i){e&1&&(p(0,"spk-toggle-card",6),N(1,7)(2),q(3,3),k(),p(4,"div",8),C(5,se,3,0,"button",9),p(6,"spk-menu",10)(7,"button",9),$(8,4),M(9,"spk-icon"),P(),a(),N(10,11),O(11,_e,4,1,null,null,V),k(),a()(),k(),C(13,ce,2,0,"div",12),O(14,Re,15,1,"div",13,V),a()),e&2&&(_("disallowToggle",!0),l(5),S(i.hasFreeTextSettings()?5:-1),l(),_("searchable",!0),l(5),y(i.nonSelectedOptionsGrouped()),l(2),S(i.selectedSettings().length===0?13:-1),l(),y(i.selectedSettings()))},dependencies:[oe,ee,ne,Z,te,ie,re,H,W,U,X,Q,K,j,J,le,pe],styles:["[_nghost-%COMP%]{display:block}spk-select[_ngcontent-%COMP%]{--miw: p2r(120)}spk-toggle[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{font-size:1rem}.placeholder[_ngcontent-%COMP%]{color:var(--base-level-60R);text-align:center;padding:2rem 1rem}.field-row[_ngcontent-%COMP%]{display:grid;align-items:center;grid-template-columns:1fr 2.5rem;gap:.5rem}.field-row[_ngcontent-%COMP%] .remove-btn[_ngcontent-%COMP%]{align-self:flex-end}.form-column[_ngcontent-%COMP%]{display:flex;gap:.25rem;flex-direction:column}.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}.form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:3fr 1fr;gap:.5rem;align-items:flex-end}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;justify-content:flex-end}"],changeDetection:0})};export{ae as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{e as a,f as b}from"./chunk-IDYYAKHE.js";import"./chunk-25P4YYJP.js";import"./chunk-VN7JM6M3.js";import"./chunk-HTNYQE2B.js";import"./chunk-H4FB6PPA.js";import"./chunk-7L42EO7J.js";import"./chunk-T2OUHRUV.js";import"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import"./chunk-WX7L7V6J.js";import"./chunk-WAKYTFC3.js";import"./chunk-CKPICCFH.js";import"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";export{a as createRestoreSelectFilesForm,b as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as K}from"./chunk-
|
|
1
|
+
import{g as K}from"./chunk-IDYYAKHE.js";import{a as H}from"./chunk-R3TFFIA7.js";import"./chunk-UN5O2OYP.js";import"./chunk-25P4YYJP.js";import"./chunk-VN7JM6M3.js";import"./chunk-HTNYQE2B.js";import"./chunk-H4FB6PPA.js";import{a as j}from"./chunk-VPCHNJ7X.js";import"./chunk-45WMLGXH.js";import"./chunk-7L42EO7J.js";import{a as B}from"./chunk-6HM2RSLN.js";import"./chunk-Q2QM66LC.js";import"./chunk-OUUFQQAS.js";import"./chunk-RHW5QVAY.js";import{a as b}from"./chunk-O2YN63YI.js";import"./chunk-T2OUHRUV.js";import"./chunk-6X3MMKNW.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-WAKYTFC3.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};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as W}from"./chunk-
|
|
1
|
+
import{a as W}from"./chunk-45WMLGXH.js";import{a as K}from"./chunk-7L42EO7J.js";import{b as V,d as z}from"./chunk-QVIZK4WW.js";import{b as X,c as B,e as U,p as H}from"./chunk-WX7L7V6J.js";import{h as G}from"./chunk-WAKYTFC3.js";import{$b as m,Ab as R,Ac as D,Cb as T,Gb as v,Hb as y,Ib as d,Mb as C,Na as g,Nb as a,Qa as r,Y as f,ab as k,ac as A,bc as L,da as u,ea as N,fb as S,nb as I,ra as $,rb as w,sb as s,ub as P,vb as h,wb as l,xb as _,yb as O,zb as b}from"./chunk-W2F756OF.js";var Y=(i,t)=>t.ID;function q(i,t){if(i&1&&m(0),i&2){let e=a().$implicit;L(" ",e.Message," ")}}function J(i,t){if(i&1&&(l(0,"div"),v(1,1),O(2,"a",16),y(),_()),i&2){let e=a().$implicit;r(2),I("href",e.DownloadLink,g)}}function Q(i,t){if(i&1){let e=T();l(0,"button",15),C("click",function(){u(e);let o=a().$implicit,c=a();return N(c.doRepair(o.BackupID))}),d(1,2),_()}}function Z(i,t){if(i&1){let e=T();l(0,"button",15),C("click",function(){u(e);let o=a().$implicit,c=a();return N(c.doDownloadBugreport(o))}),d(1,3),_()}}function ee(i,t){if(i&1&&O(0,"spk-progress-bar",18),i&2){let e,n=a(3);I("value",(e=n.serverState())==null?null:e.UpdateDownloadProgress)}}function te(i,t){if(i&1){let e=T();l(0,"div",14),b(1),d(2,4),R(),l(3,"a",17),m(4),_(),S(5,ee,1,1,"spk-progress-bar",18),l(6,"button",15),C("click",function(){u(e);let o=a(2);return N(o.doShowUpdate())}),d(7,5),_()()}if(i&2){let e,n,o=a().$implicit,c=a();r(3),I("href",(e=c.serverState())==null?null:e.UpdateDownloadLink,g),r(),A(o.Message),r(),s(((n=c.serverState())==null?null:n.UpdaterState)==="Downloading"?5:-1)}}function ie(i,t){if(i&1){let e=T();l(0,"button",15),C("click",function(){u(e);let o=a().$implicit,c=a();return N(c.doShowLog(o.BackupID))}),d(1,6),_()}}function ne(i,t){if(i&1){let e=T();l(0,"button",15),C("click",function(){u(e);let o=a(2);return N(o.doShowLink("https://docs.duplicati.com/detailed-descriptions/the-server-database"))}),d(1,7),_()}}function oe(i,t){if(i&1){let e=T();l(0,"button",15),C("click",function(){u(e);let o=a(2);return N(o.doShowLink("https://docs.duplicati.com/detailed-descriptions/the-server-database"))}),d(1,8),_()}}function ae(i,t){if(i&1){let e=T();l(0,"spk-alert")(1,"div",10),m(2),_(),l(3,"div",11),S(4,q,1,1)(5,J,3,1,"div"),l(6,"div",12),S(7,Q,2,0,"button",13)(8,Z,2,0,"button",13)(9,te,8,3,"div",14)(10,ie,2,0,"button",13)(11,ne,2,0,"button",13)(12,oe,2,0,"button",13),l(13,"button",15),C("click",function(){let o=u(e).$index,c=a();return N(c.deleteNotificationByIndex(o))}),d(14,0),_()()()()}if(i&2){let e=t.$implicit,n=a();w(n.getAlertType(e.Type)),r(2),A(e.Title),r(2),s(e.Action!=="update:new"&&e.Action!=="update:manual"?4:-1),r(),s(e!=null&&e.DownloadLink?5:-1),r(2),s(e.Message!=null&&e.Message.includes("please run repair")?7:-1),r(),s(e.Action!=null&&e.Action.startsWith("bug-report:created:")&&!e.DownloadLink?8:-1),r(),s(e.Action==="update:new"?9:-1),r(),s(e.Action==="backup:show-log"?10:-1),r(),s(e.Action==="config:issue:unencrypted-database"?11:-1),r(),s(e.Action==="config:issue:windows-folder-used"?12:-1)}}var re={Error:"error",Warning:"warn",Information:"primary"},j=class i{#i=f(z);#o=f(V);#a=f(U);#e=f(B);#n=f(G);#t=f(W);notificationFilterPredicate=$();serverState=this.#t.serverState;notifications=D(()=>{let t=this.notificationFilterPredicate()?.predicate,e=this.#t.notifications();return typeof t!="function"?e:e.filter(t)});deleteNotificationByIndex(t){this.#t.deleteNotification(t)}deleteAllNotifications(){this.#t.deleteAllNotifications()}getAlertType(t){return t&&re[t]||"primary"}doShowLog(t){this.#n.getApiV1BackupByIdIsactive({id:t}).subscribe({next:e=>{this.#i.navigate(["/backup/"+t+"/log"])},error:e=>{if(e.status===404){let n={title:$localize`Error`,message:$localize`The backup is missing, has it been deleted?`,confirmText:$localize`OK`,cancelText:null};parseInt(t)+""!=t&&(n={title:$localize`Error`,message:$localize`The backup was temporary and does not exist anymore, so the log data is lost`,confirmText:$localize`OK`,cancelText:null}),this.#a.open(K,{maxWidth:"550px",width:"100%",data:n})}else this.#e.error($localize`Failed to find backup: `+e.message)}})}doRepair(t){this.#n.postApiV1BackupByIdRepair({id:t}).subscribe({next:()=>{this.#e.success($localize`Backup repaired`),this.#i.navigate(["./"],{onSameUrlNavigation:"reload",relativeTo:this.#o})},error:e=>{this.#e.error($localize`Failed to repair backup: `+e.message)}})}doShowUpdate(){this.#i.navigate(["/about/changelog"])}doShowLink(t){window.open(t,"_blank")}doDownloadBugreport(t){let e=t.Action.slice(19);this.#n.postApiV1AuthIssuetokenByOperation({operation:`bugreport/${e}`}).subscribe({next:n=>{if(!n.Token){this.#e.error("Failed to get bug report URL: No token generated");return}t.DownloadLink=n.Token},error:n=>{this.#e.error(`Failed to get bug report URL: ${n.message}`)}})}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=k({type:i,selectors:[["app-notifications"]],inputs:{notificationFilterPredicate:[1,"notificationFilterPredicate"]},decls:2,vars:0,consts:()=>{let t;t=$localize`Dismiss`;let e;e=$localize` If the backup file was not downloaded automatically, ${"\uFFFD#2\uFFFD"}:START_LINK:right click and choose "Save as …"${"\uFFFD/#2\uFFFD"}:CLOSE_LINK:`;let n;n=$localize`Repair`;let o;o=$localize`Download`;let c;c=$localize`New update found:`;let F;F=$localize`Show Update`;let x;x=$localize`Show Log`;let E;E=$localize` Show Help `;let M;return M=$localize` Show Help `,[t,e,n,o,c,F,x,E,M,[3,"class"],["sparkle-alert-title",""],["sparkle-alert-content","",1,"content"],[1,"actions"],["spk-button","",1,"small","outlined"],[1,"message"],["spk-button","",1,"small","outlined",3,"click"],["target","_blank",3,"href"],[3,"href"],[3,"value"]]},template:function(e,n){e&1&&P(0,ae,15,11,"spk-alert",9,Y),e&2&&h(n.notifications())},dependencies:[X,H],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.actions[_ngcontent-%COMP%]{display:flex;gap:.25rem;justify-content:flex-end}"],changeDetection:0})};export{j as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as k,d as v,e as P,f as O,i as x,n as E,q as F,r as G,t as T}from"./chunk-T2OUHRUV.js";import{c as M}from"./chunk-6X3MMKNW.js";import"./chunk-I3C2AEHI.js";import{d as y}from"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{a as S,b,g as L,l as N}from"./chunk-WX7L7V6J.js";import"./chunk-WAKYTFC3.js";import"./chunk-CKPICCFH.js";import{$b as n,F as c,Mb as w,Qa as m,Y as s,ab as g,fb as f,nb as h,pb as _,sb as C,ua as l,wb as t,xb as i,yb as p}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";function A(r,e){r&1&&(t(0,"spk-alert",1),n(1," Remember to enter a password, if you can't remember the password open the duplicati client on the machine in question and make sure you open it through the tray icon then go into settings to change the password. "),i())}var u=new G,d=class r{#e=s(y);#t=s(M);failedLogin=l(!1);isLoading=l(!1);loginForm=u.group({user:u.control(""),pass:u.control("",v.required)});submit(){let e=this.loginForm.value.pass;this.loginForm.value.user||e&&(this.isLoading.set(!0),this.#t.login(e).pipe(c(()=>{this.isLoading.set(!1),this.failedLogin.set(!0)})).subscribe({next:()=>this.#e.navigate(["/"])}))}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=g({type:r,selectors:[["app-login"]],decls:15,vars:4,consts:()=>{let e;return e=$localize`Enter your password`,[[3,"submit","formGroup"],["type","warning"],[1,"login-row"],["type","text","hidden","","autocomplete","off","name","username","formControlName","user"],["for","password"],["href","https://docs.duplicati.com/detailed-descriptions/duplicati-access-password","target","_blank","rel","noopener noreferrer"],["type","password","name","password","autocomplete","current-password","placeholder",e,"tabindex","1","formControlName","pass"],["spk-button","","type","submit",1,"raised","primary"]]},template:function(o,a){o&1&&(t(0,"form",0),w("submit",function(){return a.submit()}),f(1,A,2,0,"spk-alert",1),t(2,"div",2),p(3,"input",3),t(4,"spk-form-field")(5,"label",4),n(6," Password "),t(7,"a",5)(8,"spk-icon"),n(9,"question"),i()()(),p(10,"input",6),i(),t(11,"button",7),n(12," Login "),t(13,"spk-icon"),n(14,"arrow-right"),i()()()()),o&2&&(h("formGroup",a.loginForm),m(),C(a.failedLogin()?1:-1),m(10),_("loader",a.isLoading()))},dependencies:[T,x,k,P,O,E,F,N,S,L,b],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{width:100vw;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem}spk-alert[_ngcontent-%COMP%]{max-width:20rem;margin:0 auto}h3[_ngcontent-%COMP%]{font:var(--title-30)}.login-row[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}"],changeDetection:0})};export{d as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{d as ke,h as Ee,p as Ie}from"./chunk-CKPICCFH.js";import{$ as Te,B as ee,C as be,F as ge,N as j,Q as S,S as g,V,X as A,Y as T,Z as Re,aa as ve,f as Z,la as Be,m as fe,n as F,na as Ve,o as H,r as B,x as me,ya as Pe,z as Ae}from"./chunk-W2F756OF.js";import{a as w,b as ye}from"./chunk-7CGTOI24.js";var q=class{},_=class{},R=class s{headers;normalizedNames=new Map;lazyInit;lazyUpdate=null;constructor(e){e?typeof e=="string"?this.lazyInit=()=>{this.headers=new Map,e.split(`
|
|
2
|
+
`).forEach(t=>{let r=t.indexOf(":");if(r>0){let o=t.slice(0,r),p=t.slice(r+1).trim();this.addHeaderEntry(o,p)}})}:typeof Headers<"u"&&e instanceof Headers?(this.headers=new Map,e.forEach((t,r)=>{this.addHeaderEntry(r,t)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(e).forEach(([t,r])=>{this.setHeaderEntries(t,r)})}:this.headers=new Map}has(e){return this.init(),this.headers.has(e.toLowerCase())}get(e){this.init();let t=this.headers.get(e.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(e){return this.init(),this.headers.get(e.toLowerCase())||null}append(e,t){return this.clone({name:e,value:t,op:"a"})}set(e,t){return this.clone({name:e,value:t,op:"s"})}delete(e,t){return this.clone({name:e,value:t,op:"d"})}maybeSetNormalizedName(e,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,e)}init(){this.lazyInit&&(this.lazyInit instanceof s?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(e=>this.applyUpdate(e)),this.lazyUpdate=null))}copyFrom(e){e.init(),Array.from(e.headers.keys()).forEach(t=>{this.headers.set(t,e.headers.get(t)),this.normalizedNames.set(t,e.normalizedNames.get(t))})}clone(e){let t=new s;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof s?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([e]),t}applyUpdate(e){let t=e.name.toLowerCase();switch(e.op){case"a":case"s":let r=e.value;if(typeof r=="string"&&(r=[r]),r.length===0)return;this.maybeSetNormalizedName(e.name,t);let o=(e.op==="a"?this.headers.get(t):void 0)||[];o.push(...r),this.headers.set(t,o);break;case"d":let p=e.value;if(!p)this.headers.delete(t),this.normalizedNames.delete(t);else{let i=this.headers.get(t);if(!i)return;i=i.filter(d=>p.indexOf(d)===-1),i.length===0?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,i)}break}}addHeaderEntry(e,t){let r=e.toLowerCase();this.maybeSetNormalizedName(e,r),this.headers.has(r)?this.headers.get(r).push(t):this.headers.set(r,[t])}setHeaderEntries(e,t){let r=(Array.isArray(t)?t:[t]).map(p=>p.toString()),o=e.toLowerCase();this.headers.set(o,r),this.maybeSetNormalizedName(e,o)}forEach(e){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>e(this.normalizedNames.get(t),this.headers.get(t)))}};var re=class{encodeKey(e){return Oe(e)}encodeValue(e){return Oe(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}};function Qe(s,e){let t=new Map;return s.length>0&&s.replace(/^\?/,"").split("&").forEach(o=>{let p=o.indexOf("="),[i,d]=p==-1?[e.decodeKey(o),""]:[e.decodeKey(o.slice(0,p)),e.decodeValue(o.slice(p+1))],u=t.get(i)||[];u.push(d),t.set(i,u)}),t}var Ze=/%(\d[a-f0-9])/gi,He={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function Oe(s){return encodeURIComponent(s).replace(Ze,(e,t)=>He[t]??e)}function J(s){return`${s}`}var k=class s{map;encoder;updates=null;cloneFrom=null;constructor(e={}){if(this.encoder=e.encoder||new re,e.fromString){if(e.fromObject)throw new S(2805,!1);this.map=Qe(e.fromString,this.encoder)}else e.fromObject?(this.map=new Map,Object.keys(e.fromObject).forEach(t=>{let r=e.fromObject[t],o=Array.isArray(r)?r.map(J):[J(r)];this.map.set(t,o)})):this.map=null}has(e){return this.init(),this.map.has(e)}get(e){this.init();let t=this.map.get(e);return t?t[0]:null}getAll(e){return this.init(),this.map.get(e)||null}keys(){return this.init(),Array.from(this.map.keys())}append(e,t){return this.clone({param:e,value:t,op:"a"})}appendAll(e){let t=[];return Object.keys(e).forEach(r=>{let o=e[r];Array.isArray(o)?o.forEach(p=>{t.push({param:r,value:p,op:"a"})}):t.push({param:r,value:o,op:"a"})}),this.clone(t)}set(e,t){return this.clone({param:e,value:t,op:"s"})}delete(e,t){return this.clone({param:e,value:t,op:"d"})}toString(){return this.init(),this.keys().map(e=>{let t=this.encoder.encodeKey(e);return this.map.get(e).map(r=>t+"="+this.encoder.encodeValue(r)).join("&")}).filter(e=>e!=="").join("&")}clone(e){let t=new s({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(e),t}init(){this.map===null&&(this.map=new Map),this.cloneFrom!==null&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(e=>this.map.set(e,this.cloneFrom.map.get(e))),this.updates.forEach(e=>{switch(e.op){case"a":case"s":let t=(e.op==="a"?this.map.get(e.param):void 0)||[];t.push(J(e.value)),this.map.set(e.param,t);break;case"d":if(e.value!==void 0){let r=this.map.get(e.param)||[],o=r.indexOf(J(e.value));o!==-1&&r.splice(o,1),r.length>0?this.map.set(e.param,r):this.map.delete(e.param)}else{this.map.delete(e.param);break}}}),this.cloneFrom=this.updates=null)}};var ie=class{map=new Map;set(e,t){return this.map.set(e,t),this}get(e){return this.map.has(e)||this.map.set(e,e.defaultValue()),this.map.get(e)}delete(e){return this.map.delete(e),this}has(e){return this.map.has(e)}keys(){return this.map.keys()}};function et(s){switch(s){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}function De(s){return typeof ArrayBuffer<"u"&&s instanceof ArrayBuffer}function we(s){return typeof Blob<"u"&&s instanceof Blob}function Se(s){return typeof FormData<"u"&&s instanceof FormData}function tt(s){return typeof URLSearchParams<"u"&&s instanceof URLSearchParams}var C="Content-Type",W="Accept",ae="X-Request-URL",Me="text/plain",Le="application/json",Fe=`${Le}, ${Me}, */*`,U=class s{url;body=null;headers;context;reportProgress=!1;withCredentials=!1;responseType="json";method;params;urlWithParams;transferCache;constructor(e,t,r,o){this.url=t,this.method=e.toUpperCase();let p;if(et(this.method)||o?(this.body=r!==void 0?r:null,p=o):p=r,p&&(this.reportProgress=!!p.reportProgress,this.withCredentials=!!p.withCredentials,p.responseType&&(this.responseType=p.responseType),p.headers&&(this.headers=p.headers),p.context&&(this.context=p.context),p.params&&(this.params=p.params),this.transferCache=p.transferCache),this.headers??=new R,this.context??=new ie,!this.params)this.params=new k,this.urlWithParams=t;else{let i=this.params.toString();if(i.length===0)this.urlWithParams=t;else{let d=t.indexOf("?"),u=d===-1?"?":d<t.length-1?"&":"";this.urlWithParams=t+u+i}}}serializeBody(){return this.body===null?null:typeof this.body=="string"||De(this.body)||we(this.body)||Se(this.body)||tt(this.body)?this.body:this.body instanceof k?this.body.toString():typeof this.body=="object"||typeof this.body=="boolean"||Array.isArray(this.body)?JSON.stringify(this.body):this.body.toString()}detectContentTypeHeader(){return this.body===null||Se(this.body)?null:we(this.body)?this.body.type||null:De(this.body)?null:typeof this.body=="string"?Me:this.body instanceof k?"application/x-www-form-urlencoded;charset=UTF-8":typeof this.body=="object"||typeof this.body=="number"||typeof this.body=="boolean"?Le:null}clone(e={}){let t=e.method||this.method,r=e.url||this.url,o=e.responseType||this.responseType,p=e.transferCache??this.transferCache,i=e.body!==void 0?e.body:this.body,d=e.withCredentials??this.withCredentials,u=e.reportProgress??this.reportProgress,h=e.headers||this.headers,m=e.params||this.params,b=e.context??this.context;return e.setHeaders!==void 0&&(h=Object.keys(e.setHeaders).reduce((O,y)=>O.set(y,e.setHeaders[y]),h)),e.setParams&&(m=Object.keys(e.setParams).reduce((O,y)=>O.set(y,e.setParams[y]),m)),new s(t,r,i,{params:m,headers:h,context:b,reportProgress:u,responseType:o,withCredentials:d,transferCache:p})}},E=function(s){return s[s.Sent=0]="Sent",s[s.UploadProgress=1]="UploadProgress",s[s.ResponseHeader=2]="ResponseHeader",s[s.DownloadProgress=3]="DownloadProgress",s[s.Response=4]="Response",s[s.User=5]="User",s}(E||{}),z=class{headers;status;statusText;url;ok;type;constructor(e,t=200,r="OK"){this.headers=e.headers||new R,this.status=e.status!==void 0?e.status:t,this.statusText=e.statusText||r,this.url=e.url||null,this.ok=this.status>=200&&this.status<300}},X=class s extends z{constructor(e={}){super(e)}type=E.ResponseHeader;clone(e={}){return new s({headers:e.headers||this.headers,status:e.status!==void 0?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}},K=class s extends z{body;constructor(e={}){super(e),this.body=e.body!==void 0?e.body:null}type=E.Response;clone(e={}){return new s({body:e.body!==void 0?e.body:this.body,headers:e.headers||this.headers,status:e.status!==void 0?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}},P=class extends z{name="HttpErrorResponse";message;error;ok=!1;constructor(e){super(e,0,"Unknown Error"),this.status>=200&&this.status<300?this.message=`Http failure during parsing for ${e.url||"(unknown url)"}`:this.message=`Http failure response for ${e.url||"(unknown url)"}: ${e.status} ${e.statusText}`,this.error=e.error||null}},je=200,st=204;function te(s,e){return{body:e,headers:s.headers,context:s.context,observe:s.observe,params:s.params,reportProgress:s.reportProgress,responseType:s.responseType,withCredentials:s.withCredentials,transferCache:s.transferCache}}var I=(()=>{class s{handler;constructor(t){this.handler=t}request(t,r,o={}){let p;if(t instanceof U)p=t;else{let u;o.headers instanceof R?u=o.headers:u=new R(o.headers);let h;o.params&&(o.params instanceof k?h=o.params:h=new k({fromObject:o.params})),p=new U(t,r,o.body!==void 0?o.body:null,{headers:u,context:o.context,params:h,reportProgress:o.reportProgress,responseType:o.responseType||"json",withCredentials:o.withCredentials,transferCache:o.transferCache})}let i=F(p).pipe(be(u=>this.handler.handle(u)));if(t instanceof U||o.observe==="events")return i;let d=i.pipe(Ae(u=>u instanceof K));switch(o.observe||"body"){case"body":switch(p.responseType){case"arraybuffer":return d.pipe(B(u=>{if(u.body!==null&&!(u.body instanceof ArrayBuffer))throw new S(2806,!1);return u.body}));case"blob":return d.pipe(B(u=>{if(u.body!==null&&!(u.body instanceof Blob))throw new S(2807,!1);return u.body}));case"text":return d.pipe(B(u=>{if(u.body!==null&&typeof u.body!="string")throw new S(2808,!1);return u.body}));case"json":default:return d.pipe(B(u=>u.body))}case"response":return d;default:throw new S(2809,!1)}}delete(t,r={}){return this.request("DELETE",t,r)}get(t,r={}){return this.request("GET",t,r)}head(t,r={}){return this.request("HEAD",t,r)}jsonp(t,r){return this.request("JSONP",t,{params:new k().append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,r={}){return this.request("OPTIONS",t,r)}patch(t,r,o={}){return this.request("PATCH",t,te(o,r))}post(t,r,o={}){return this.request("POST",t,te(o,r))}put(t,r,o={}){return this.request("PUT",t,te(o,r))}static \u0275fac=function(r){return new(r||s)(A(q))};static \u0275prov=g({token:s,factory:s.\u0275fac})}return s})(),rt=/^\)\]\}',?\n/;function Ne(s){if(s.url)return s.url;let e=ae.toLocaleLowerCase();return s.headers.get(e)}var Ce=new V(""),se=(()=>{class s{fetchImpl=T(oe,{optional:!0})?.fetch??((...t)=>globalThis.fetch(...t));ngZone=T(Ve);handle(t){return new Z(r=>{let o=new AbortController;return this.doRequest(t,o.signal,r).then(ne,p=>r.error(new P({error:p}))),()=>o.abort()})}async doRequest(t,r,o){let p=this.createRequestInit(t),i;try{let y=this.ngZone.runOutsideAngular(()=>this.fetchImpl(t.urlWithParams,w({signal:r},p)));it(y),o.next({type:E.Sent}),i=await y}catch(y){o.error(new P({error:y,status:y.status??0,statusText:y.statusText,url:t.urlWithParams,headers:y.headers}));return}let d=new R(i.headers),u=i.statusText,h=Ne(i)??t.urlWithParams,m=i.status,b=null;if(t.reportProgress&&o.next(new X({headers:d,status:m,statusText:u,url:h})),i.body){let y=i.headers.get("content-length"),x=[],c=i.body.getReader(),l=0,v,N,f=typeof Zone<"u"&&Zone.current;await this.ngZone.runOutsideAngular(async()=>{for(;;){let{done:D,value:L}=await c.read();if(D)break;if(x.push(L),l+=L.length,t.reportProgress){N=t.responseType==="text"?(N??"")+(v??=new TextDecoder).decode(L,{stream:!0}):void 0;let he=()=>o.next({type:E.DownloadProgress,total:y?+y:void 0,loaded:l,partialText:N});f?f.run(he):he()}}});let M=this.concatChunks(x,l);try{let D=i.headers.get(C)??"";b=this.parseBody(t,M,D)}catch(D){o.error(new P({error:D,headers:new R(i.headers),status:i.status,statusText:i.statusText,url:Ne(i)??t.urlWithParams}));return}}m===0&&(m=b?je:0),m>=200&&m<300?(o.next(new K({body:b,headers:d,status:m,statusText:u,url:h})),o.complete()):o.error(new P({error:b,headers:d,status:m,statusText:u,url:h}))}parseBody(t,r,o){switch(t.responseType){case"json":let p=new TextDecoder().decode(r).replace(rt,"");return p===""?null:JSON.parse(p);case"text":return new TextDecoder().decode(r);case"blob":return new Blob([r],{type:o});case"arraybuffer":return r.buffer}}createRequestInit(t){let r={},o=t.withCredentials?"include":void 0;if(t.headers.forEach((p,i)=>r[p]=i.join(",")),t.headers.has(W)||(r[W]=Fe),!t.headers.has(C)){let p=t.detectContentTypeHeader();p!==null&&(r[C]=p)}return{body:t.serializeBody(),method:t.method,headers:r,credentials:o}}concatChunks(t,r){let o=new Uint8Array(r),p=0;for(let i of t)o.set(i,p),p+=i.length;return o}static \u0275fac=function(r){return new(r||s)};static \u0275prov=g({token:s,factory:s.\u0275fac})}return s})(),oe=class{};function ne(){}function it(s){s.then(ne,ne)}function ot(s,e){return e(s)}function nt(s,e,t){return(r,o)=>ve(t,()=>e(r,p=>s(p,o)))}var pe=new V(""),at=new V(""),pt=new V("",{providedIn:"root",factory:()=>!0});var Ge=(()=>{class s extends q{backend;injector;chain=null;pendingTasks=T(Be);contributeToStability=T(pt);constructor(t,r){super(),this.backend=t,this.injector=r}handle(t){if(this.chain===null){let r=Array.from(new Set([...this.injector.get(pe),...this.injector.get(at,[])]));this.chain=r.reduceRight((o,p)=>nt(o,p,this.injector),ot)}if(this.contributeToStability){let r=this.pendingTasks.add();return this.chain(t,o=>this.backend.handle(o)).pipe(ge(()=>this.pendingTasks.remove(r)))}else return this.chain(t,r=>this.backend.handle(r))}static \u0275fac=function(r){return new(r||s)(A(_),A(Te))};static \u0275prov=g({token:s,factory:s.\u0275fac})}return s})();var ut=/^\)\]\}',?\n/,dt=RegExp(`^${ae}:`,"m");function ct(s){return"responseURL"in s&&s.responseURL?s.responseURL:dt.test(s.getAllResponseHeaders())?s.getResponseHeader(ae):null}var xe=(()=>{class s{xhrFactory;constructor(t){this.xhrFactory=t}handle(t){if(t.method==="JSONP")throw new S(-2800,!1);let r=this.xhrFactory;return(r.\u0275loadImpl?fe(r.\u0275loadImpl()):F(null)).pipe(j(()=>new Z(p=>{let i=r.build();if(i.open(t.method,t.urlWithParams),t.withCredentials&&(i.withCredentials=!0),t.headers.forEach((c,l)=>i.setRequestHeader(c,l.join(","))),t.headers.has(W)||i.setRequestHeader(W,Fe),!t.headers.has(C)){let c=t.detectContentTypeHeader();c!==null&&i.setRequestHeader(C,c)}if(t.responseType){let c=t.responseType.toLowerCase();i.responseType=c!=="json"?c:"text"}let d=t.serializeBody(),u=null,h=()=>{if(u!==null)return u;let c=i.statusText||"OK",l=new R(i.getAllResponseHeaders()),v=ct(i)||t.url;return u=new X({headers:l,status:i.status,statusText:c,url:v}),u},m=()=>{let{headers:c,status:l,statusText:v,url:N}=h(),f=null;l!==st&&(f=typeof i.response>"u"?i.responseText:i.response),l===0&&(l=f?je:0);let M=l>=200&&l<300;if(t.responseType==="json"&&typeof f=="string"){let D=f;f=f.replace(ut,"");try{f=f!==""?JSON.parse(f):null}catch(L){f=D,M&&(M=!1,f={error:L,text:f})}}M?(p.next(new K({body:f,headers:c,status:l,statusText:v,url:N||void 0})),p.complete()):p.error(new P({error:f,headers:c,status:l,statusText:v,url:N||void 0}))},b=c=>{let{url:l}=h(),v=new P({error:c,status:i.status||0,statusText:i.statusText||"Unknown Error",url:l||void 0});p.error(v)},O=!1,y=c=>{O||(p.next(h()),O=!0);let l={type:E.DownloadProgress,loaded:c.loaded};c.lengthComputable&&(l.total=c.total),t.responseType==="text"&&i.responseText&&(l.partialText=i.responseText),p.next(l)},x=c=>{let l={type:E.UploadProgress,loaded:c.loaded};c.lengthComputable&&(l.total=c.total),p.next(l)};return i.addEventListener("load",m),i.addEventListener("error",b),i.addEventListener("timeout",b),i.addEventListener("abort",b),t.reportProgress&&(i.addEventListener("progress",y),d!==null&&i.upload&&i.upload.addEventListener("progress",x)),i.send(d),p.next({type:E.Sent}),()=>{i.removeEventListener("error",b),i.removeEventListener("abort",b),i.removeEventListener("load",m),i.removeEventListener("timeout",b),t.reportProgress&&(i.removeEventListener("progress",y),d!==null&&i.upload&&i.upload.removeEventListener("progress",x)),i.readyState!==i.DONE&&i.abort()}})))}static \u0275fac=function(r){return new(r||s)(A(Ie))};static \u0275prov=g({token:s,factory:s.\u0275fac})}return s})(),Ue=new V(""),lt="XSRF-TOKEN",ht=new V("",{providedIn:"root",factory:()=>lt}),yt="X-XSRF-TOKEN",ft=new V("",{providedIn:"root",factory:()=>yt}),Y=class{},mt=(()=>{class s{doc;platform;cookieName;lastCookieString="";lastToken=null;parseCount=0;constructor(t,r,o){this.doc=t,this.platform=r,this.cookieName=o}getToken(){if(this.platform==="server")return null;let t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=Ee(t,this.cookieName),this.lastCookieString=t),this.lastToken}static \u0275fac=function(r){return new(r||s)(A(ke),A(Pe),A(ht))};static \u0275prov=g({token:s,factory:s.\u0275fac})}return s})();function At(s,e){let t=s.url.toLowerCase();if(!T(Ue)||s.method==="GET"||s.method==="HEAD"||t.startsWith("http://")||t.startsWith("https://"))return e(s);let r=T(Y).getToken(),o=T(ft);return r!=null&&!s.headers.has(o)&&(s=s.clone({headers:s.headers.set(o,r)})),e(s)}var ue=function(s){return s[s.Interceptors=0]="Interceptors",s[s.LegacyInterceptors=1]="LegacyInterceptors",s[s.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",s[s.NoXsrfProtection=3]="NoXsrfProtection",s[s.JsonpSupport=4]="JsonpSupport",s[s.RequestsMadeViaParent=5]="RequestsMadeViaParent",s[s.Fetch=6]="Fetch",s}(ue||{});function qe(s,e){return{\u0275kind:s,\u0275providers:e}}function rs(...s){let e=[I,xe,Ge,{provide:q,useExisting:Ge},{provide:_,useFactory:()=>T(Ce,{optional:!0})??T(xe)},{provide:pe,useValue:At,multi:!0},{provide:Ue,useValue:!0},{provide:Y,useClass:mt}];for(let t of s)e.push(...t.\u0275providers);return Re(e)}function is(s){return qe(ue.Interceptors,s.map(e=>({provide:pe,useValue:e,multi:!0})))}function os(){return qe(ue.Fetch,[se,{provide:Ce,useExisting:se},{provide:_,useExisting:se}])}var de=class{_fns;constructor(){this._fns=[]}eject(e){let t=this._fns.indexOf(e);t!==-1&&(this._fns=[...this._fns.slice(0,t),...this._fns.slice(t+1)])}use(e){this._fns=[...this._fns,e]}},n={BASE:"",CREDENTIALS:"include",ENCODE_PATH:void 0,HEADERS:void 0,PASSWORD:void 0,TOKEN:void 0,USERNAME:void 0,VERSION:"1",WITH_CREDENTIALS:!1,interceptors:{response:new de}};var G=class extends Error{url;status;statusText;body;request;constructor(e,t,r){super(r),this.name="ApiError",this.url=t.url,this.status=t.status,this.statusText=t.statusText,this.body=t.body,this.request=e}};var $=s=>typeof s=="string",ce=s=>$(s)&&s!=="",le=s=>s instanceof Blob,_e=s=>s instanceof FormData,gt=s=>{try{return btoa(s)}catch{return Buffer.from(s).toString("base64")}},Rt=s=>{let e=[],t=(o,p)=>{e.push(`${encodeURIComponent(o)}=${encodeURIComponent(String(p))}`)},r=(o,p)=>{p!=null&&(p instanceof Date?t(o,p.toISOString()):Array.isArray(p)?p.forEach(i=>r(o,i)):typeof p=="object"?Object.entries(p).forEach(([i,d])=>r(`${o}[${i}]`,d)):t(o,p))};return Object.entries(s).forEach(([o,p])=>r(o,p)),e.length?`?${e.join("&")}`:""},Tt=(s,e)=>{let t=s.ENCODE_PATH||encodeURI,r=e.url.replace("{api-version}",s.VERSION).replace(/{(.*?)}/g,(p,i)=>e.path?.hasOwnProperty(i)?t(String(e.path[i])):p),o=s.BASE+r;return e.query?o+Rt(e.query):o},vt=s=>{if(s.formData){let e=new FormData,t=(r,o)=>{$(o)||le(o)?e.append(r,o):e.append(r,JSON.stringify(o))};return Object.entries(s.formData).filter(([,r])=>r!=null).forEach(([r,o])=>{Array.isArray(o)?o.forEach(p=>t(r,p)):t(r,o)}),e}},Q=async(s,e)=>typeof e=="function"?e(s):e,Bt=(s,e)=>me({token:Q(e,s.TOKEN),username:Q(e,s.USERNAME),password:Q(e,s.PASSWORD),additionalHeaders:Q(e,s.HEADERS)}).pipe(B(({token:t,username:r,password:o,additionalHeaders:p})=>{let i=Object.entries(w(w({Accept:"application/json"},p),e.headers)).filter(([,d])=>d!=null).reduce((d,[u,h])=>ye(w({},d),{[u]:String(h)}),{});if(ce(t)&&(i.Authorization=`Bearer ${t}`),ce(r)&&ce(o)){let d=gt(`${r}:${o}`);i.Authorization=`Basic ${d}`}return e.body!==void 0&&(e.mediaType?i["Content-Type"]=e.mediaType:le(e.body)?i["Content-Type"]=e.body.type||"application/octet-stream":$(e.body)?i["Content-Type"]="text/plain":_e(e.body)||(i["Content-Type"]="application/json")),new R(i)})),Vt=s=>{if(s.body)return s.mediaType?.includes("application/json")||s.mediaType?.includes("+json")?JSON.stringify(s.body):$(s.body)||le(s.body)||_e(s.body)?s.body:JSON.stringify(s.body)},Pt=(s,e,t,r,o,p,i)=>t.request(e.method,r,{headers:i,body:o??p,withCredentials:s.WITH_CREDENTIALS,observe:"response"}),kt=(s,e)=>{if(e){let t=s.headers.get(e);if($(t))return t}},Et=s=>{if(s.status!==204&&s.body!==null)return s.body},It=(s,e)=>{let r=w({400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"Im a teapot",421:"Misdirected Request",422:"Unprocessable Content",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"},s.errors)[e.status];if(r)throw new G(s,e,r);if(!e.ok){let o=e.status??"unknown",p=e.statusText??"unknown",i=(()=>{try{return JSON.stringify(e.body,null,2)}catch{return}})();throw new G(s,e,`Generic Error: status: ${o}; status text: ${p}; body: ${i}`)}},a=(s,e,t)=>{let r=Tt(s,t),o=vt(t),p=Vt(t);return Bt(s,t).pipe(j(i=>Pt(s,t,e,r,p,o,i)),j(async i=>{for(let m of s.interceptors.response._fns)i=await m(i);let d=Et(i),u=kt(i,t.responseHeader),h=d;return t.responseTransformer&&i.ok&&(h=await t.responseTransformer(d)),{url:r,ok:i.ok,status:i.status,statusText:i.statusText,body:u??h}}),ee(i=>i.status?F({url:r,ok:i.ok,status:i.status,statusText:i.statusText,body:i.error??i.statusText}):H(()=>i)),B(i=>(It(t,i),i.body)),ee(i=>H(()=>i)))};var ze=class s{constructor(e){this.http=e}getApiV1Commandline(){return a(n,this.http,{method:"GET",url:"/api/v1/commandline"})}static \u0275fac=function(t){return new(t||s)(A(I))};static \u0275prov=g({token:s,factory:s.\u0275fac,providedIn:"root"})},Ke=class s{constructor(e){this.http=e}postApiV1Commandline(e){return a(n,this.http,{method:"POST",url:"/api/v1/commandline",body:e.requestBody,mediaType:"application/json"})}getApiV1Acknowledgements(){return a(n,this.http,{method:"GET",url:"/api/v1/acknowledgements"})}postApiV1AuthRefresh(){return a(n,this.http,{method:"POST",url:"/api/v1/auth/refresh"})}postApiV1AuthSignin(e){return a(n,this.http,{method:"POST",url:"/api/v1/auth/signin",body:e.requestBody,mediaType:"application/json"})}postApiV1AuthLogin(e){return a(n,this.http,{method:"POST",url:"/api/v1/auth/login",body:e.requestBody,mediaType:"application/json"})}postApiV1AuthIssuesignintoken(e){return a(n,this.http,{method:"POST",url:"/api/v1/auth/issuesignintoken",body:e.requestBody,mediaType:"application/json"})}postApiV1AuthRefreshLogout(){return a(n,this.http,{method:"POST",url:"/api/v1/auth/refresh/logout"})}postApiV1AuthIssuetokenByOperation(e){return a(n,this.http,{method:"POST",url:"/api/v1/auth/issuetoken/{operation}",path:{operation:e.operation}})}postApiV1AuthIssueForeverToken(){return a(n,this.http,{method:"POST",url:"/api/v1/auth/issue-forever-token"})}getApiV1Backupdefaults(){return a(n,this.http,{method:"GET",url:"/api/v1/backupdefaults"})}getApiV1Backups(e={}){return a(n,this.http,{method:"GET",url:"/api/v1/backups",query:{orderBy:e.orderBy}})}postApiV1Backups(e){return a(n,this.http,{method:"POST",url:"/api/v1/backups",query:{temporary:e.temporary,existingdb:e.existingdb},body:e.requestBody,mediaType:"application/json"})}postApiV1BackupsImport(e){return a(n,this.http,{method:"POST",url:"/api/v1/backups/import",body:e.requestBody,mediaType:"application/json"})}getApiV1BugreportByReportid(e){return a(n,this.http,{method:"GET",url:"/api/v1/bugreport/{reportid}",path:{reportid:e.reportid},query:{token:e.token}})}getApiV1Changelog(e={}){return a(n,this.http,{method:"GET",url:"/api/v1/changelog",query:{"from-update":e.fromUpdate}})}getApiV1CommandlineByRunid(e){return a(n,this.http,{method:"GET",url:"/api/v1/commandline/{runid}",path:{runid:e.runid},query:{offset:e.offset,pagesize:e.pagesize}})}postApiV1CommandlineByRunidAbort(e){return a(n,this.http,{method:"POST",url:"/api/v1/commandline/{runid}/abort",path:{runid:e.runid}})}postApiV1Filesystem(e){return a(n,this.http,{method:"POST",url:"/api/v1/filesystem",query:{onlyFolders:e.onlyFolders,showHidden:e.showHidden},body:e.requestBody,mediaType:"application/json"})}postApiV1FilesystemValidate(e){return a(n,this.http,{method:"POST",url:"/api/v1/filesystem/validate",body:e.requestBody,mediaType:"application/json"})}getApiV1Hyperv(){return a(n,this.http,{method:"GET",url:"/api/v1/hyperv"})}getApiV1HypervByKey(e){return a(n,this.http,{method:"GET",url:"/api/v1/hyperv/{key}",path:{key:e.key}})}getApiV1Licenses(){return a(n,this.http,{method:"GET",url:"/api/v1/licenses"})}getApiV1LogdataPoll(e){return a(n,this.http,{method:"GET",url:"/api/v1/logdata/poll",query:{level:e.level,id:e.id,offset:e.offset,pagesize:e.pagesize}})}getApiV1LogdataLog(e={}){return a(n,this.http,{method:"GET",url:"/api/v1/logdata/log",query:{offset:e.offset,pagesize:e.pagesize}})}getApiV1LogdataCrashlog(){return a(n,this.http,{method:"GET",url:"/api/v1/logdata/crashlog"})}getApiV1Mssql(){return a(n,this.http,{method:"GET",url:"/api/v1/mssql"})}getApiV1MssqlByKey(e){return a(n,this.http,{method:"GET",url:"/api/v1/mssql/{key}",path:{key:e.key}})}getApiV1NotificationById(e){return a(n,this.http,{method:"GET",url:"/api/v1/notification/{id}",path:{id:e.id}})}deleteApiV1NotificationById(e){return a(n,this.http,{method:"DELETE",url:"/api/v1/notification/{id}",path:{id:e.id}})}getApiV1Notifications(){return a(n,this.http,{method:"GET",url:"/api/v1/notifications"})}getApiV1RemotecontrolStatus(){return a(n,this.http,{method:"GET",url:"/api/v1/remotecontrol/status"})}postApiV1RemotecontrolEnable(){return a(n,this.http,{method:"POST",url:"/api/v1/remotecontrol/enable"})}postApiV1RemotecontrolDisable(){return a(n,this.http,{method:"POST",url:"/api/v1/remotecontrol/disable"})}deleteApiV1RemotecontrolRegistration(){return a(n,this.http,{method:"DELETE",url:"/api/v1/remotecontrol/registration"})}postApiV1RemotecontrolRegister(e){return a(n,this.http,{method:"POST",url:"/api/v1/remotecontrol/register",body:e.requestBody,mediaType:"application/json"})}deleteApiV1RemotecontrolRegister(){return a(n,this.http,{method:"DELETE",url:"/api/v1/remotecontrol/register"})}postApiV1RemoteoperationDbpath(e){return a(n,this.http,{method:"POST",url:"/api/v1/remoteoperation/dbpath",body:e.requestBody,mediaType:"application/json"})}postApiV1RemoteoperationTest(e){return a(n,this.http,{method:"POST",url:"/api/v1/remoteoperation/test",query:{autocreate:e.autocreate},body:e.requestBody,mediaType:"application/json"})}postApiV1RemoteoperationCreate(e){return a(n,this.http,{method:"POST",url:"/api/v1/remoteoperation/create",body:e.requestBody,mediaType:"application/json"})}getApiV1Serversettings(){return a(n,this.http,{method:"GET",url:"/api/v1/serversettings"})}patchApiV1Serversettings(e){return a(n,this.http,{method:"PATCH",url:"/api/v1/serversettings",body:e.requestBody,mediaType:"application/json"})}getApiV1ServersettingByKey(e){return a(n,this.http,{method:"GET",url:"/api/v1/serversetting/{key}",path:{key:e.key}})}putApiV1ServersettingByKey(e){return a(n,this.http,{method:"PUT",url:"/api/v1/serversetting/{key}",path:{key:e.key},body:e.requestBody,mediaType:"application/json"})}getApiV1Serverstate(e={}){return a(n,this.http,{method:"GET",url:"/api/v1/serverstate",query:{lastEventId:e.lastEventId,longpoll:e.longpoll,duration:e.duration}})}postApiV1ServerstatePause(e={}){return a(n,this.http,{method:"POST",url:"/api/v1/serverstate/pause",query:{duration:e.duration,pauseTransfers:e.pauseTransfers}})}postApiV1ServerstateResume(){return a(n,this.http,{method:"POST",url:"/api/v1/serverstate/resume"})}getApiV1Systeminfo(){return a(n,this.http,{method:"GET",url:"/api/v1/systeminfo"})}getApiV1SysteminfoFiltergroups(){return a(n,this.http,{method:"GET",url:"/api/v1/systeminfo/filtergroups"})}getApiV1TaskByTaskid(e){return a(n,this.http,{method:"GET",url:"/api/v1/task/{taskid}",path:{taskid:e.taskid}})}postApiV1TaskByTaskidStop(e){return a(n,this.http,{method:"POST",url:"/api/v1/task/{taskid}/stop",path:{taskid:e.taskid}})}postApiV1TaskByTaskidAbort(e){return a(n,this.http,{method:"POST",url:"/api/v1/task/{taskid}/abort",path:{taskid:e.taskid}})}getApiV1Uisettings(){return a(n,this.http,{method:"GET",url:"/api/v1/uisettings"})}postApiV1Uisettings(e){return a(n,this.http,{method:"POST",url:"/api/v1/uisettings",body:e.requestBody,mediaType:"application/json"})}getApiV1UisettingsByScheme(e){return a(n,this.http,{method:"GET",url:"/api/v1/uisettings/{scheme}",path:{scheme:e.scheme}})}patchApiV1UisettingsByScheme(e){return a(n,this.http,{method:"PATCH",url:"/api/v1/uisettings/{scheme}",path:{scheme:e.scheme},body:e.requestBody,mediaType:"application/json"})}postApiV1WebmoduleByModulekey(e){return a(n,this.http,{method:"POST",url:"/api/v1/webmodule/{modulekey}",path:{modulekey:e.modulekey},body:e.requestBody,mediaType:"application/json"})}getApiV1BackupById(e){return a(n,this.http,{method:"GET",url:"/api/v1/backup/{id}",path:{id:e.id}})}putApiV1BackupById(e){return a(n,this.http,{method:"PUT",url:"/api/v1/backup/{id}",path:{id:e.id},body:e.requestBody,mediaType:"application/json"})}deleteApiV1BackupById(e){return a(n,this.http,{method:"DELETE",url:"/api/v1/backup/{id}",path:{id:e.id},query:{"delete-remote-files":e.deleteRemoteFiles,"delete-local-db":e.deleteLocalDb,force:e.force}})}getApiV1BackupByIdFiles(e){return a(n,this.http,{method:"GET",url:"/api/v1/backup/{id}/files",path:{id:e.id},query:{filter:e.filter,time:e.time,"all-versions":e.allVersions,"prefix-only":e.prefixOnly,"folder-contents":e.folderContents}})}getApiV1BackupByIdLog(e){return a(n,this.http,{method:"GET",url:"/api/v1/backup/{id}/log",path:{id:e.id},query:{offset:e.offset,pagesize:e.pagesize}})}getApiV1BackupByIdRemotelog(e){return a(n,this.http,{method:"GET",url:"/api/v1/backup/{id}/remotelog",path:{id:e.id},query:{offset:e.offset,pagesize:e.pagesize}})}getApiV1BackupByIdFilesets(e){return a(n,this.http,{method:"GET",url:"/api/v1/backup/{id}/filesets",path:{id:e.id},query:{"include-metadata":e.includeMetadata,"from-remote-only":e.fromRemoteOnly}})}getApiV1BackupByIdExportArgsonly(e){return a(n,this.http,{method:"GET",url:"/api/v1/backup/{id}/export-argsonly",path:{id:e.id},query:{"export-passwords":e.exportPasswords,passphrase:e.passphrase}})}getApiV1BackupByIdExportCmdline(e){return a(n,this.http,{method:"GET",url:"/api/v1/backup/{id}/export-cmdline",path:{id:e.id},query:{"export-passwords":e.exportPasswords,passphrase:e.passphrase}})}getApiV1BackupByIdExport(e){return a(n,this.http,{method:"GET",url:"/api/v1/backup/{id}/export",path:{id:e.id},query:{"export-passwords":e.exportPasswords,passphrase:e.passphrase,token:e.token}})}getApiV1BackupByIdIsdbusedelsewhere(e){return a(n,this.http,{method:"GET",url:"/api/v1/backup/{id}/isdbusedelsewhere",path:{id:e.id}})}getApiV1BackupByIdIsactive(e){return a(n,this.http,{method:"GET",url:"/api/v1/backup/{id}/isactive",path:{id:e.id}})}postApiV1BackupByIdDeletedb(e){return a(n,this.http,{method:"POST",url:"/api/v1/backup/{id}/deletedb",path:{id:e.id}})}postApiV1BackupByIdMovedb(e){return a(n,this.http,{method:"POST",url:"/api/v1/backup/{id}/movedb",path:{id:e.id},body:e.requestBody,mediaType:"application/json"})}postApiV1BackupByIdUpdatedb(e){return a(n,this.http,{method:"POST",url:"/api/v1/backup/{id}/updatedb",path:{id:e.id},body:e.requestBody,mediaType:"application/json"})}postApiV1BackupByIdRestore(e){return a(n,this.http,{method:"POST",url:"/api/v1/backup/{id}/restore",path:{id:e.id},body:e.requestBody,mediaType:"application/json"})}postApiV1BackupByIdCreatereport(e){return a(n,this.http,{method:"POST",url:"/api/v1/backup/{id}/createreport",path:{id:e.id}})}postApiV1BackupByIdRepair(e){return a(n,this.http,{method:"POST",url:"/api/v1/backup/{id}/repair",path:{id:e.id},body:e.requestBody,mediaType:"application/json"})}postApiV1BackupByIdRepairupdate(e){return a(n,this.http,{method:"POST",url:"/api/v1/backup/{id}/repairupdate",path:{id:e.id},body:e.requestBody,mediaType:"application/json"})}postApiV1BackupByIdVacuum(e){return a(n,this.http,{method:"POST",url:"/api/v1/backup/{id}/vacuum",path:{id:e.id}})}postApiV1BackupByIdVerify(e){return a(n,this.http,{method:"POST",url:"/api/v1/backup/{id}/verify",path:{id:e.id}})}postApiV1BackupByIdCompact(e){return a(n,this.http,{method:"POST",url:"/api/v1/backup/{id}/compact",path:{id:e.id}})}postApiV1BackupByIdStart(e){return a(n,this.http,{method:"POST",url:"/api/v1/backup/{id}/start",path:{id:e.id}})}postApiV1BackupByIdRun(e){return a(n,this.http,{method:"POST",url:"/api/v1/backup/{id}/run",path:{id:e.id}})}postApiV1BackupByIdReportRemoteSize(e){return a(n,this.http,{method:"POST",url:"/api/v1/backup/{id}/report-remote-size",path:{id:e.id}})}postApiV1BackupByIdCopytotemp(e){return a(n,this.http,{method:"POST",url:"/api/v1/backup/{id}/copytotemp",path:{id:e.id}})}postApiV2BackupListFilesets(e){return a(n,this.http,{method:"POST",url:"/api/v2/backup/list-filesets",body:e.requestBody,mediaType:"application/json"})}postApiV2BackupListFolder(e){return a(n,this.http,{method:"POST",url:"/api/v2/backup/list-folder",body:e.requestBody,mediaType:"application/json"})}postApiV2BackupListVersions(e){return a(n,this.http,{method:"POST",url:"/api/v2/backup/list-versions",body:e.requestBody,mediaType:"application/json"})}postApiV2BackupSearch(e){return a(n,this.http,{method:"POST",url:"/api/v2/backup/search",body:e.requestBody,mediaType:"application/json"})}postApiV2DestinationTest(e){return a(n,this.http,{method:"POST",url:"/api/v2/destination/test",body:e.requestBody,mediaType:"application/json"})}static \u0275fac=function(t){return new(t||s)(A(I))};static \u0275prov=g({token:s,factory:s.\u0275fac,providedIn:"root"})},$e=class s{constructor(e){this.http=e}getApiV1Progressstate(){return a(n,this.http,{method:"GET",url:"/api/v1/progressstate"})}static \u0275fac=function(t){return new(t||s)(A(I))};static \u0275prov=g({token:s,factory:s.\u0275fac,providedIn:"root"})},Je=class s{constructor(e){this.http=e}getApiV1Tasks(){return a(n,this.http,{method:"GET",url:"/api/v1/tasks"})}static \u0275fac=function(t){return new(t||s)(A(I))};static \u0275prov=g({token:s,factory:s.\u0275fac,providedIn:"root"})},We=class s{constructor(e){this.http=e}postApiV1UpdatesCheck(){return a(n,this.http,{method:"POST",url:"/api/v1/updates/check"})}static \u0275fac=function(t){return new(t||s)(A(I))};static \u0275prov=g({token:s,factory:s.\u0275fac,providedIn:"root"})},Xe=class s{constructor(e){this.http=e}getApiV1Webmodules(){return a(n,this.http,{method:"GET",url:"/api/v1/webmodules"})}static \u0275fac=function(t){return new(t||s)(A(I))};static \u0275prov=g({token:s,factory:s.\u0275fac,providedIn:"root"})};export{R as a,K as b,I as c,rs as d,is as e,os as f,ze as g,Ke as h,$e as i,We as j,Xe as k};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as y}from"./chunk-HTNYQE2B.js";import{a as D}from"./chunk-Q2QM66LC.js";import"./chunk-6X3MMKNW.js";import"./chunk-I3C2AEHI.js";import"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{a as w,g as L,p as R}from"./chunk-WX7L7V6J.js";import{h as F,j as U}from"./chunk-WAKYTFC3.js";import"./chunk-CKPICCFH.js";import{$b as s,Ac as O,Cb as S,F as m,Ib as E,Jb as x,Kb as M,Mb as k,Na as T,Nb as c,Qa as l,Y as _,ab as G,ac as b,da as u,ea as g,fb as d,nb as N,pb as P,r as A,sb as p,ua as C,wb as a,xb as o,yb as f}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";function V(n,i){n&1&&f(0,"spk-progress-bar",2)}function $(n,i){if(n&1&&(a(0,"a",6)(1,"spk-icon"),s(2,"download"),o(),s(3," Download update "),o()),n&2){let e,t=c(2);N("href",(e=t.serverState())==null?null:e.UpdateDownloadLink,T)}}function I(n,i){if(n&1){let e=S();a(0,"button",5),k("click",function(){u(e);let r=c();return g(r.checkForUpdates())}),s(1,"Check for updates"),o(),d(2,$,4,1,"a",6)}if(n&2){let e,t=c();P("loader",t.checkingForUpdates()),l(2),p((e=t.serverState())!=null&&e.UpdateDownloadLink?2:-1)}}function B(n,i){if(n&1){let e=S();a(0,"button",5),k("click",function(){u(e);let r=c();return g(r.checkForUpdates())}),s(1,"Checking for updates \u2026"),o()}}function z(n,i){n&1&&f(0,"spk-progress-bar",2)}var h=class n{#t=_(F);#n=_(U);#e=_(D);isLoading=C(!0);checkingForUpdates=C(!1);serverState=this.#e.serverState;duplicatiVersion=O(()=>this.#e.serverState()?.UpdatedVersion);generalInfo=y(this.#t.getApiV1Acknowledgements().pipe(A(i=>i.Acknowledgements),m(()=>this.isLoading.set(!1))));checkForUpdates(){this.checkingForUpdates.set(!0),this.#n.postApiV1UpdatesCheck().pipe(m(()=>this.checkingForUpdates.set(!1))).subscribe()}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=G({type:n,selectors:[["app-general"]],decls:12,vars:5,consts:()=>{let i;i=$localize`General`;let e;return e=$localize`Your running Duplicati with - ${"\uFFFD0\uFFFD"}:INTERPOLATION:`,[i,e,[1,"indeterminate","primary"],[1,"actions"],["spk-button",""],["spk-button","",3,"click"],["spk-button","","target","_blank",1,"primary","raised",3,"href"]]},template:function(e,t){if(e&1&&(d(0,V,1,0,"spk-progress-bar",2),a(1,"section")(2,"h3"),E(3,0),o(),a(4,"p"),E(5,1),o(),a(6,"div",3),d(7,I,3,3)(8,B,2,0,"button",4)(9,z,1,0,"spk-progress-bar",2),o(),a(10,"div"),s(11),o()()),e&2){let r,v;p(t.isLoading()?0:-1),l(5),x(t.duplicatiVersion()),M(5),l(2),p(((r=t.serverState())==null?null:r.UpdaterState)==="Waiting"?7:((r=t.serverState())==null?null:r.UpdaterState)==="Checking"?8:-1),l(2),p(((v=t.serverState())==null?null:v.UpdaterState)==="Downloading"?9:-1),l(2),b(t.generalInfo())}},dependencies:[R,L,w],styles:["[_nghost-%COMP%]{display:block;position:relative}h3[_ngcontent-%COMP%]{font:var(--title-30);margin:0 0 1.25rem}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}section[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{white-space:pre-wrap}spk-progress-bar[_ngcontent-%COMP%]{position:absolute;top:0;left:0;right:0}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}"],changeDetection:0})};export{h as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as k}from"./chunk-
|
|
1
|
+
import{a as k}from"./chunk-NOO722WB.js";import"./chunk-6HM2RSLN.js";import"./chunk-Q2QM66LC.js";import"./chunk-OUUFQQAS.js";import"./chunk-RHW5QVAY.js";import"./chunk-O2YN63YI.js";import"./chunk-T2OUHRUV.js";import"./chunk-6X3MMKNW.js";import"./chunk-I3C2AEHI.js";import{e as S}from"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{a as T,g as M,h as f}from"./chunk-WX7L7V6J.js";import"./chunk-WAKYTFC3.js";import"./chunk-DE4NDI5F.js";import"./chunk-CKPICCFH.js";import"./chunk-PFYOWXZZ.js";import{Gb as s,Hb as l,Ib as i,Qa as c,ab as D,lc as d,nb as r,wb as e,xb as n,yb as _}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";var E=()=>["/backup/new"],F=()=>["/backup/import"],u=class C{static \u0275fac=function(t){return new(t||C)};static \u0275cmp=D({type:C,selectors:[["app-add-backup"]],decls:23,vars:4,consts:()=>{let a;a=$localize`Add a new backup`;let t;t=$localize`New backup`;let p;p=$localize`Configure a new backup. Choose your destination, source data and schedule.`;let A;A=$localize` Add a new backup ${"\uFFFD#13\uFFFD"}:START_TAG_SPK_ICON:plus${"\uFFFD/#13\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let g;g=$localize`Import from file`;let P;P=$localize`Import backup configuration from a file. During import you can adjust the setings.`;let m;return m=$localize` Import from file ${"\uFFFD#22\uFFFD"}:START_TAG_SPK_ICON:upload-simple${"\uFFFD/#22\uFFFD"}:CLOSE_TAG_SPK_ICON:`,[a,t,p,A,g,P,m,[1,"backup-types"],[1,"type-a"],["src","assets/images/new-backup.png"],["spk-button","",1,"raised","primary",3,"routerLink"]]},template:function(t,p){t&1&&(_(0,"app-status-bar"),e(1,"section")(2,"h2"),i(3,0),n(),e(4,"div",7)(5,"spk-card",8),_(6,"img",9),e(7,"h3"),i(8,1),n(),e(9,"p"),i(10,2),n(),e(11,"button",10),s(12,3),_(13,"spk-icon"),l(),n()(),e(14,"spk-card",8),_(15,"img",9),e(16,"h3"),i(17,4),n(),e(18,"p"),i(19,5),n(),e(20,"button",10),s(21,6),_(22,"spk-icon"),l(),n()()()()),t&2&&(c(11),r("routerLink",d(2,E)),c(9),r("routerLink",d(3,F)))},dependencies:[k,M,f,T,S],styles:["[_nghost-%COMP%]{display:block}section[_ngcontent-%COMP%]{display:flex;align-items:center;flex-direction:column;gap:2rem;padding:2rem 0}div.backup-types[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:700px}spk-card[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:1rem;padding-bottom:3rem}spk-card[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-width:300px}spk-card[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-wrap:balance;text-align:center;width:75%}"],changeDetection:0})};export{u as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as ke,c as Re,d as B}from"./chunk-KSP3JQHY.js";import{a as Oe}from"./chunk-HTNYQE2B.js";import{a as ue}from"./chunk-OUUFQQAS.js";import"./chunk-RHW5QVAY.js";import{b as de,c as Pe,d as S,e as Te,f as Ce,i as me,n as Ee,q as Se,r as ge,t as fe}from"./chunk-T2OUHRUV.js";import"./chunk-I3C2AEHI.js";import{b as oe,d as te,e as ne}from"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{A as Fe,a as re,b as se,f as ae,g as le,l as pe,p as _e,z as ce}from"./chunk-WX7L7V6J.js";import{c as ee,h as ie}from"./chunk-WAKYTFC3.js";import"./chunk-CKPICCFH.js";import{$b as A,Ac as N,Bc as Z,Cb as M,F as I,Gb as _,Hb as c,Ib as m,Jb as y,Kb as h,Lb as X,Mb as E,N as H,Nb as u,Qa as s,Y as T,ab as Q,ac as J,cc as W,da as x,ea as D,fb as d,lc as Y,nb as P,pb as f,sb as F,ua as C,wb as a,xb as r,yb as p}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";var we=()=>["/"];function $e(t,o){t&1&&(a(0,"spk-toggle",24),_(1,5),p(2,"input",27),c(),r())}function xe(t,o){t&1&&(a(0,"span",30),m(1,9),r())}function De(t,o){if(t&1&&(a(0,"span",30),m(1,10),r()),t&2){let e=u(2);s(),y(e.exportForm.controls.password.errors==null?null:e.exportForm.controls.password.errors.minlength.requiredLength),h(1)}}function Ae(t,o){if(t&1&&p(0,"spk-progress-bar",37),t&2){let e=u(2);f("error",e.calculatePasswordStrength()===1)("warn",e.calculatePasswordStrength()===2)("primary",e.calculatePasswordStrength()===4)("success",e.calculatePasswordStrength()===5),P("value",e.calculatePasswordStrength()*(100/5))}}function Ne(t,o){t&1&&(a(0,"span",30),m(1,11),r())}function Ie(t,o){t&1&&(a(0,"span",30),m(1,12),r())}function Me(t,o){if(t&1&&(a(0,"span",30),m(1,13),r()),t&2){let e=u(2);s(),y(e.exportForm.controls.repeatPassword.errors==null?null:e.exportForm.controls.repeatPassword.errors.minlength.requiredLength),h(1)}}function ye(t,o){t&1&&(_(0,7,1),p(1,"spk-icon"),c())}function he(t,o){t&1&&(_(0,7,2),p(1,"spk-icon"),c())}function Xe(t,o){t&1&&(_(0,14,1),p(1,"spk-icon",39),c())}function Be(t,o){t&1&&(_(0,14,2),p(1,"spk-icon"),c())}function Le(t,o){if(t&1){let e=M();a(0,"button",38),E("click",function(){x(e);let i=u(2);return D(i.copyPassword())}),_(1,14),d(2,Xe,2,0)(3,Be,2,0),c(),r()}if(t&2){let e=u(2);s(2),F(e.copiedPassword()?2:3)}}function be(t,o){t&1&&(a(0,"spk-alert",36),m(1,15),r())}function ve(t,o){if(t&1){let e=M();a(0,"div",25)(1,"spk-form-field")(2,"label",28),_(3,6),p(4,"sup"),c(),r(),p(5,"input",29),d(6,xe,2,0,"span",30)(7,De,2,1,"span",30),r(),d(8,Ae,1,9,"spk-progress-bar",31),a(9,"spk-form-field"),p(10,"input",32),d(11,Ne,2,0,"span",30)(12,Ie,2,0,"span",30)(13,Me,2,1,"span",30),r(),a(14,"div",33)(15,"button",34),E("click",function(){x(e);let i=u();return D(i.showPassword.set(!i.showPassword()))}),_(16,7),d(17,ye,2,0)(18,he,2,0),c(),r(),a(19,"button",34),E("click",function(){x(e);let i=u();return D(i.generatePassword())}),_(20,8),p(21,"spk-icon"),c(),r(),d(22,Le,4,1,"button",35),r(),d(23,be,2,0,"spk-alert",36),r()}if(t&2){let e=u();s(5),P("type",e.showPassword()?"text":"password"),s(),F(e.exportForm.controls.password.errors!=null&&e.exportForm.controls.password.errors.required?6:e.exportForm.controls.password.errors!=null&&e.exportForm.controls.password.errors.minlength?7:-1),s(2),F(e.exportForm.value.password?8:-1),s(2),P("type",e.showPassword()?"text":"password"),s(),F(e.exportForm.value.repeatPassword&&e.exportForm.value.repeatPassword!==e.exportForm.value.password?11:e.exportForm.controls.repeatPassword.errors!=null&&e.exportForm.controls.repeatPassword.errors.required?12:e.exportForm.controls.repeatPassword.errors!=null&&e.exportForm.controls.repeatPassword.errors.minlength?13:-1),s(6),F(e.showPassword()?17:18),s(5),F(e.showCopyPassword()?22:-1),s(),F(e.exportForm.value.password&&e.exportForm.value.password===e.exportForm.value.repeatPassword?23:-1)}}function Ge(t,o){if(t&1&&(a(0,"div",26)(1,"code"),A(2),r()()),t&2){let e=u();s(2),J(e.exportedCmd())}}var O=new ge,L=class t{#o=T(ke);#t=T(ie);#e=T(oe);#n=T(te);#i=T(ee);#r=T(ue);isExporting=C(!1);exportType=C("file");exportedCmd=C(null);exportForm=O.group({exportPasswords:O.control(!0),encryption:O.control(!1,[S.required,Re()]),password:O.control("",[B("encryption",!0,[S.required,S.minLength(3)])]),repeatPassword:O.control("",[B("encryption",!0,[S.required,S.minLength(3)])])});exportFormSignal=Oe(this.exportForm.valueChanges);encryptionFieldSignal=N(()=>this.exportFormSignal()?.encryption??!1);activeBackup=N(()=>this.#r.backups().find(o=>o.Backup?.ID===this.#e.snapshot.params.id));showPassword=C(!1);copiedPassword=C(!1);showCopyPassword=C(!1);calculatePasswordStrength=N(()=>{let e=this.exportFormSignal()?.password??"";return this.#o.calculatePasswordStrength(e)});showPasswordEffect=Z(()=>{this.showPassword()&&this.exportForm.updateValueAndValidity()});submit(){this.isExporting.set(!0),this.exportType()==="file"?this.#t.postApiV1AuthIssuetokenByOperation({operation:"export"}).pipe(H(o=>{let e=i=>{let g=Object.entries(i);return g?"?"+g.map(([k,R])=>`${k}=${R}`).join("&"):""},n=this.exportFormSignal()?.password?.length?this.exportFormSignal()?.password:void 0;return this.#i.get(`/api/v1/backup/${this.#e.snapshot.params.id}/export${e({"export-passwords":this.exportFormSignal()?.exportPasswords??void 0,passphrase:n,token:o.Token})}`,{responseType:"blob"})}),I(()=>this.isExporting.set(!1))).subscribe({next:o=>{let n=this.activeBackup()?.Backup?.Name??"Backup",i=this.exportFormSignal()?.encryption?"aes":"json";this.downloadFile(o,`${n}-duplicati-config.${i}`),this.#n.navigate(["/"])},error:o=>{}}):this.#t.getApiV1BackupByIdExportCmdline({id:this.#e.snapshot.params.id,exportPasswords:this.exportFormSignal()?.exportPasswords??void 0,passphrase:this.exportFormSignal()?.password??void 0}).pipe(I(()=>this.isExporting.set(!1))).subscribe({next:o=>{this.exportedCmd.set(o.Command??null)},error:o=>{}})}downloadFile(o,e){let n=window.URL.createObjectURL(o),i=document.createElement("a");i.href=n,i.download=e,i.click(),window.URL.revokeObjectURL(n)}async copyPassword(){let o=this.exportForm.controls.password.value;await this.#s(o??""),this.copiedPassword.set(!0)}async#s(o){try{await navigator.clipboard.writeText(o)}catch{try{let n=document.createElement("textarea");n.value=o,document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n)}catch(n){console.error("Failed to copy text: ",n)}}}generatePassword(){this.copiedPassword.set(!1);let o=this.#o.generate(16);this.exportForm.controls.password.setValue(o),this.exportForm.controls.repeatPassword.setValue(o),this.showCopyPassword.set(!0)}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=Q({type:t,selectors:[["app-export"]],decls:27,vars:16,consts:()=>{let o;o=$localize`${"\uFFFD#6\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#6\uFFFD"}:CLOSE_TAG_SPK_ICON: Back `;let e;e=$localize`${"\uFFFD#10\uFFFD"}:START_TAG_SPK_ICON:export${"\uFFFD/#10\uFFFD"}:CLOSE_TAG_SPK_ICON: Export `;let n;n=$localize`${"\uFFFD#17\uFFFD"}:START_TAG_SPK_ICON:terminal-window${"\uFFFD/#17\uFFFD"}:CLOSE_TAG_SPK_ICON: As command line `;let i;i=$localize`${"\uFFFD#20\uFFFD"}:START_TAG_SPK_ICON:file${"\uFFFD/#20\uFFFD"}:CLOSE_TAG_SPK_ICON: To file `;let g;g=$localize` Export passwords ${"\uFFFD#23\uFFFD\uFFFD/#23\uFFFD"}:TAG_INPUT:`;let k;k=$localize` Encrypt file ${"\uFFFD#2\uFFFD\uFFFD/#2\uFFFD"}:TAG_INPUT:`;let R;R=$localize`Password`;let b;b=$localize`Repeat password`;let v;v=$localize` Create a password ${"\uFFFD#4\uFFFD"}:START_SUPERSCRIPT:*${"\uFFFD/#4\uFFFD"}:CLOSE_SUPERSCRIPT:`;let w;w=$localize`${"\uFFFD*17:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:eye-slash${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: hide ${"\uFFFD/*17:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*18:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:eye${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: show ${"\uFFFD/*18:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,w=X(w);let G;G=$localize`${"\uFFFD#21\uFFFD"}:START_TAG_SPK_ICON:password${"\uFFFD/#21\uFFFD"}:CLOSE_TAG_SPK_ICON: Generate password `;let K;K=$localize`Passwords are required`;let U;U=$localize` Passwords must be at least ${"\uFFFD0\uFFFD"}:INTERPOLATION: characters long `;let z;z=$localize`Passwords do not match`;let V;V=$localize`Passwords are required`;let q;q=$localize` Passwords must be at least ${"\uFFFD0\uFFFD"}:INTERPOLATION: characters long `;let $;$=$localize`${"\uFFFD*2:1\uFFFD"}:START_BLOCK_IF:${"\uFFFD#1:1\uFFFD"}:START_TAG_SPK_ICON:check${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Copied password ${"\uFFFD/*2:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*3:2\uFFFD"}:START_BLOCK_ELSE:${"\uFFFD#1:2\uFFFD"}:START_TAG_SPK_ICON_1:copy${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Copy password ${"\uFFFD/*3:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,$=X($);let j;return j=$localize` Tip: Be sure to save your password. If you loose it you will lose access to your backups. `,[o,e,n,i,g,k,v,w,G,K,U,z,V,q,$,j,[1,"actions"],["spk-button","",1,"outlined",3,"routerLink"],["message","Remember to copy the password",1,"primary",3,"disabled"],["spk-button","",1,"raised","primary",3,"click","disabled"],["autocomplete","off",3,"formGroup"],["type","button",3,"click"],[1,"raised","primary"],["type","checkbox","formControlName","exportPasswords"],[1,"primary","raised"],[1,"passwords"],[1,"cmd-output"],["type","checkbox","formControlName","encryption"],["for","password"],["id","password","tabindex","4","autocomplete","off","placeholder",R,"formControlName","password",3,"type"],["error",""],[1,"raised",3,"error","warn","primary","success","value"],["id","repeatPassword","tabindex","5","autocomplete","off","placeholder",b,"formControlName","repeatPassword",3,"type"],[1,"password-actions"],["spk-button","","type","button",1,"small",3,"click"],["spk-button","","type","button",1,"small","copy"],[1,"primary"],[1,"raised",3,"value"],["spk-button","","type","button",1,"small","copy",3,"click"],[1,"spk-success"]]},template:function(e,n){if(e&1&&(a(0,"header")(1,"h3"),A(2," Export backup configuration "),a(3,"div",16)(4,"button",17),_(5,0),p(6,"spk-icon"),c(),r(),a(7,"spk-tooltip",18)(8,"button",19),E("click",function(){return n.submit()}),_(9,1),p(10,"spk-icon"),c(),r()()()(),a(11,"p"),A(12),r()(),a(13,"form",20)(14,"spk-button-group")(15,"button",21),E("click",function(){return n.exportType.set("cmd")}),_(16,2),p(17,"spk-icon"),c(),r(),a(18,"button",21),E("click",function(){return n.exportType.set("file")}),_(19,3),p(20,"spk-icon"),c(),r()(),a(21,"spk-toggle",22),_(22,4),p(23,"input",23),c(),r(),d(24,$e,3,0,"spk-toggle",24)(25,ve,24,8,"div",25)(26,Ge,3,1,"div",26),r()),e&2){let i;s(4),P("routerLink",Y(15,we)),s(3),f("loading",n.isExporting()),P("disabled",!(n.showCopyPassword()&&!n.copiedPassword())),s(),P("disabled",n.exportForm.invalid||n.showCopyPassword()&&!n.copiedPassword()),s(4),W("#",(i=n.activeBackup())==null||i.Backup==null?null:i.Backup.ID,": ",(i=n.activeBackup())==null||i.Backup==null?null:i.Backup.Name,""),s(),P("formGroup",n.exportForm),s(2),f("active",n.exportType()==="cmd"),s(3),f("active",n.exportType()==="file"),s(6),F(n.exportType()==="file"?24:-1),s(),F(n.encryptionFieldSignal()?25:-1),s(),F(n.exportedCmd()?26:-1)}},dependencies:[fe,me,Pe,de,Te,Ce,Ee,Se,ne,ae,ce,re,pe,le,se,_e,Fe],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:2rem;padding:3rem}h3[_ngcontent-%COMP%]{font:var(--title-30);display:flex;align-items:center;justify-content:space-between}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;max-width:31.25rem}.passwords[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.password-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:center}.copy[_ngcontent-%COMP%] spk-icon.spk-success[_ngcontent-%COMP%]{color:var(--success-500)}.hide[_ngcontent-%COMP%]{display:none}"],changeDetection:0})};export{L as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as re}from"./chunk-XOS6WTCD.js";import"./chunk-6DH6O5YE.js";import"./chunk-DAPUSIR2.js";import"./chunk-VN7JM6M3.js";import"./chunk-KSP3JQHY.js";import{a as Tt}from"./chunk-HTNYQE2B.js";import{a as ut}from"./chunk-IXM6PMZU.js";import{a as Z}from"./chunk-SAVY3OEX.js";import{a as St}from"./chunk-XJXOUOD5.js";import{a as gt}from"./chunk-IA2ZYSD7.js";import{a as pt}from"./chunk-7L42EO7J.js";import"./chunk-FEJAAP54.js";import"./chunk-2AA7RP36.js";import"./chunk-RHW5QVAY.js";import"./chunk-O2YN63YI.js";import{c as J,e as Y,h as ee,l as ct,s as te,t as ne}from"./chunk-T2OUHRUV.js";import"./chunk-FSGJ5KIH.js";import{a as nt}from"./chunk-I3C2AEHI.js";import"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{A as dt,a as q,b as j,e as it,g as K,k as ot,l as Q,p as st,q as at,r as rt,t as lt,z as _t}from"./chunk-WX7L7V6J.js";import{b as v}from"./chunk-PTDSOPNK.js";import"./chunk-MZ473NLM.js";import"./chunk-DE4NDI5F.js";import"./chunk-CKPICCFH.js";import"./chunk-PFYOWXZZ.js";import{$b as R,Ac as $,B as k,Bc as b,Cb as P,F as I,Gb as z,Hb as U,Ib as r,Jb as se,Kb as ae,Lb as Ze,Mb as S,Na as qe,Nb as p,Qa as l,Qb as Je,S as V,Xa as je,Y as T,Yb as Ye,Zb as et,a as Be,ab as L,ac as B,b as We,bc as W,c as He,da as m,ea as C,ec as y,fb as f,fc as G,gc as A,kb as Ke,kc as tt,lb as Qe,lc as H,n as w,nb as h,pb as N,sb as E,ua as c,wb as i,xb as o,yb as O}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";var F=class s{#e=T(v);#t=Tt(this.#e.getApiV1Serversettings());#n=c(void 0);serverSettings=$(()=>this.#n()||this.#t());refreshServerSettings(){this.#e.getApiV1Serversettings().subscribe({next:e=>{this.#n.set(e)}})}static \u0275fac=function(t){return new(t||s)};static \u0275prov=V({token:s,factory:s.\u0275fac,providedIn:"root"})};var Et=["formRef"],ft=()=>[import("./chunk-IMFJPM7A.js").then(s=>s.OptionsListComponent)];function Nt(s,e){s&1&&(i(0,"spk-alert",3),r(1,1),o())}function Mt(s,e){if(s&1){let t=P();i(0,"app-options-list",5),A("optionsChange",function(a){m(t);let d=p();return G(d.settings,a)||(d.settings=a),C(a)}),o()}if(s&2){let t=p();y("options",t.settings),h("hasFreeTextSettings",!0)}}var ht=["Bytes","KB","MB","GB","TB","PB"],D=class s{#e=T(re);#t=T(F);#n=T(v);formRef=je.required("formRef");settings=this.#e.settings;isSubmitting=c(!1);isLoadingOptions=c(!0);saved=c(!1);sizeOptions=c(ht);lastRecievedServerSettings=c({});serverSettingsEffect=b(()=>{let e=this.#t.serverSettings();if(e===void 0)return;this.lastRecievedServerSettings.set(e),this.isLoadingOptions.set(!0);let t=Object.entries(e);t.forEach(([n,a],d)=>{if(n.startsWith("--")){let u=n.replace("--","");this.settings.update(g=>(g.some(M=>M.Name===u)||g.push({Name:u,Value:a}),g))}d===t.length-1&&this.isLoadingOptions.set(!1)})});submit(){this.isSubmitting.set(!0);let e=this.settings(),t=this.lastRecievedServerSettings(),n=e.map(g=>g.Name),d=Object.keys(t).filter(g=>!n.includes(g.replace("--",""))),u=e.reduce((g,M)=>(g[`--${M.Name}`]=M.Value,g),{});d.forEach(g=>{u[g]=null}),this.#n.patchApiV1Serversettings({requestBody:u}).pipe(I(()=>this.isSubmitting.set(!1))).subscribe({next:()=>{this.#t.refreshServerSettings(),this.saved.set(!0),setTimeout(()=>{this.saved.set(!1)},3e3)}})}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=L({type:s,selectors:[["app-advanced-options-settings"]],viewQuery:function(t,n){t&1&&Ye(n.formRef,Et,5),t&2&&et()},features:[tt([re])],decls:8,vars:4,consts:()=>{let e;e=$localize`${"\uFFFD#4\uFFFD"}:START_TAG_SPK_ICON:floppy-disk${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_SPK_ICON: Save settings `;let t;return t=$localize`Settings saved`,[e,t,[1,"actions"],[1,"success"],["spk-button","","type","button",1,"raised","primary",3,"click"],[3,"optionsChange","options","hasFreeTextSettings"]]},template:function(t,n){t&1&&(i(0,"div",2),f(1,Nt,2,0,"spk-alert",3),i(2,"button",4),S("click",function(){return n.submit()}),z(3,0),O(4,"spk-icon"),U(),o()(),f(5,Mt,1,2),Ke(6,5,ft)),t&2&&(l(),E(n.saved()?1:-1),l(),N("loader",n.isSubmitting()),l(4),Qe(!n.isLoadingOptions()))},dependencies:[ne,K,q,j],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:40.625rem;justify-self:flex-end}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;justify-content:flex-end;margin-bottom:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap: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}.row-inputs[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1 0}.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}"],changeDetection:0})};var x=class s{#e=T(it);#t=T(v);#n=T(Z);repeatRegisterTimer=null;state=c("unknown");claimUrl=c(null);registerUrl=c("");status=$(()=>{let e=this.state();return e==="enabled"?"Remote control is enabled but not connected":e==="connected"?"Remote control is connected":e==="registering"?"Registering machine...":e==="registeringfaulted"?"Registration failed":e==="registered"?"Registered, waiting for accept":e==="disabled"?"Remote control is configured but not enabled":e==="unknown"?"...loading...":"Remote control is not set up"});sysInfoEffect=b(()=>{let e=this.#n.systemInfo();e&&this.registerUrl.set(e.RemoteControlRegistrationUrl??"")});#i(e){e.RegistrationUrl&&this.claimUrl.set(e.RegistrationUrl),e.IsConnected?this.state.set("connected"):e.IsEnabled?this.state.set("enabled"):e.CanEnable?this.state.set("disabled"):e.IsRegisteringFaulted?this.state.set("registeringfaulted"):e.IsRegistering?e.RegistrationUrl!=null&&e.RegistrationUrl.trim().length>0?this.state.set("registered"):this.state.set("registering"):this.state.set("inactive");let t=this.state();this.repeatRegisterTimer!==null&&(clearTimeout(this.repeatRegisterTimer),this.repeatRegisterTimer=null),t==="registering"&&(this.repeatRegisterTimer=setTimeout(()=>{this.#t.postApiV1RemotecontrolRegister({requestBody:{RegistrationUrl:""}}).subscribe({next:n=>this.#i(n),error:n=>this.#o(n)})},5e3)),(t==="enabled"||t==="registered")&&(this.repeatRegisterTimer=setTimeout(()=>{this.#t.getApiV1RemotecontrolStatus().subscribe({next:n=>this.#i(n),error:n=>this.#o(n)})},5e3)),e.IsRegistering&&e.CanEnable&&this.#t.deleteApiV1RemotecontrolRegister().subscribe({next:n=>this.#i(n)})}#o(e){this.#t.getApiV1RemotecontrolStatus().subscribe({next:t=>this.#i(t)})}refreshRemoteControlStatus(){this.#t.getApiV1RemotecontrolStatus().subscribe({next:e=>this.#i(e),error:e=>this.#o(e)})}beginRemoteRegistration(){this.state.set("registering"),this.#t.postApiV1RemotecontrolRegister({requestBody:{RegistrationUrl:this.registerUrl()}}).subscribe({next:e=>this.#i(e),error:e=>this.#o(e)})}cancelRemoteRegistration(){this.#t.deleteApiV1RemotecontrolRegister().subscribe({next:e=>this.#i(e),error:e=>this.#o(e)})}enableRemoteControl(){this.#t.postApiV1RemotecontrolEnable().subscribe({next:e=>this.#i(e),error:e=>this.#o(e)})}disableRemoteControl(){this.#t.postApiV1RemotecontrolDisable().subscribe({next:e=>this.#i(e),error:e=>this.#o(e)})}deleteRemoteControl(){let e=this;this.#e.open(pt,{data:{title:$localize`Confirm delete`,message:$localize`Are you sure you want to delete the remote control registration?`,confirmText:$localize`Delete registration`,cancelText:$localize`Cancel`},closed:t=>{t&&e.#t.deleteApiV1RemotecontrolRegistration().subscribe({next:n=>e.#i(n),error:n=>e.#o(n)})}})}static \u0275fac=function(t){return new(t||s)};static \u0275prov=V({token:s,factory:s.\u0275fac,providedIn:"root"})};function Ot(s,e){if(s&1){let t=P();i(0,"spk-form-field",10)(1,"input",11),A("ngModelChange",function(a){m(t);let d=p(2);return G(d.registerUrl,a)||(d.registerUrl=a),C(a)}),o()(),i(2,"button",12),S("click",function(){m(t);let a=p(2);return C(a.register())}),r(3,0),o()}if(s&2){let t=p(2);l(),y("ngModel",t.registerUrl)}}function Rt(s,e){if(s&1&&(i(0,"div",8)(1,"label"),r(2,1),o(),i(3,"a",13),R(4),o()()),s&2){let t=p(2);l(3),Je("href",t.claimUrl(),qe),l(),B(t.claimUrl())}}function It(s,e){s&1&&(i(0,"div",8)(1,"label"),r(2,2),o()())}function yt(s,e){if(s&1){let t=P();i(0,"button",12),S("click",function(){m(t);let a=p(2);return C(a.cancel())}),r(1,3),o()}}function Gt(s,e){if(s&1){let t=P();i(0,"button",12),S("click",function(){m(t);let a=p(2);return C(a.disable())}),r(1,4),o()}}function At(s,e){if(s&1){let t=P();i(0,"button",12),S("click",function(){m(t);let a=p(2);return C(a.enable())}),r(1,5),o(),i(2,"button",14),S("click",function(){m(t);let a=p(2);return C(a.delete())}),r(3,6),o()}}function vt(s,e){if(s&1&&(i(0,"div",7),f(1,Ot,4,1)(2,Rt,5,2,"div",8)(3,It,3,0,"div",8)(4,yt,2,0,"button",9)(5,Gt,2,0,"button",9)(6,At,4,0),o()),s&2){let t=p();l(),E(t.state()==="inactive"?1:-1),l(),E(t.state()==="registered"?2:-1),l(),E(t.state()==="registering"?3:-1),l(),E(t.state()==="registering"||t.state()==="registeringfaulted"||t.state()==="registered"?4:-1),l(),E(t.state()==="connected"||t.state()==="enabled"?5:-1),l(),E(t.state()==="disabled"?6:-1)}}var oe=class s{#e=T(x);state=this.#e.state;claimUrl=this.#e.claimUrl;registerUrl=this.#e.registerUrl;ngOnInit(){this.#e.refreshRemoteControlStatus()}cancel(){this.#e.cancelRemoteRegistration()}register(){this.#e.beginRemoteRegistration()}disable(){this.#e.disableRemoteControl()}enable(){this.#e.enableRemoteControl()}delete(){this.#e.deleteRemoteControl()}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=L({type:s,selectors:[["app-remote-control"]],decls:1,vars:1,consts:()=>{let e;e=$localize`Register for remote control`;let t;t=$localize`Machine is now registered, open this link to add it to your account:`;let n;n=$localize`Registering, please wait...`;let a;a=$localize`Cancel registration`;let d;d=$localize`Disable remote control`;let u;u=$localize`Enable remote control`;let g;return g=$localize`Delete remote control setup`,[e,t,n,a,d,u,g,[1,"field-row"],[1,"field-col"],["type","button","spk-button","",1,"raised"],["label","Registration URL","for","remoteControlRegisterUrl"],["type","text","spk-input","","id","remoteControlRegisterUrl","name","remoteControlRegisterUrl",3,"ngModelChange","ngModel"],["type","button","spk-button","",1,"raised",3,"click"],["target","_blank",3,"href"],["type","button","spk-button","",1,"raised","error",3,"click"]]},template:function(t,n){t&1&&f(0,vt,7,6,"div",7),t&2&&E(n.state()!=="unknown"?0:-1)},dependencies:[te,J,Y,ee,Q],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] button[_ngcontent-%COMP%]{white-space:nowrap}.field-row[_ngcontent-%COMP%]{display:flex;gap:.5rem;width:100%}.field-row[_ngcontent-%COMP%] spk-form-field[_ngcontent-%COMP%], .field-row[_ngcontent-%COMP%] spk-select[_ngcontent-%COMP%]{flex:1 0}"],changeDetection:0})};function Ct(...s){let e=c(...s);return Object.defineProperty(e,"value",{get:e.asReadonly(),set:e.set.bind(e)})}var le=()=>({standalone:!0});function $t(s,e){s&1&&(i(0,"spk-icon",69),R(1,"check"),o())}function bt(s,e){s&1&&(i(0,"spk-icon",70),R(1,"prohibit"),o())}function wt(s,e){if(s&1){let t=P();i(0,"button",74),S("click",function(){m(t);let a=p(2);return C(a.updatePassphrase())}),r(1,34),o()}if(s&2){let t=p(2);N("loader",t.isUpdating())}}function kt(s,e){if(s&1){let t=P();i(0,"spk-tooltip",73)(1,"button",75),S("click",function(){m(t);let a=p(2);return C(a.updatePassphrase())}),r(2,35),o()()}if(s&2){let t=p(2);l(),N("loader",t.isUpdating()),h("disabled",!0)}}function Lt(s,e){if(s&1){let t=P();i(0,"spk-form-field")(1,"label",65),r(2,31),o(),i(3,"input",66),A("ngModelChange",function(a){m(t);let d=p();return G(d.passphrase,a)||(d.passphrase=a),C(a)}),o()(),i(4,"spk-form-field")(5,"label",67),r(6,32),o(),i(7,"input",68),A("ngModelChange",function(a){m(t);let d=p();return G(d.repeatPassphrase,a)||(d.repeatPassphrase=a),C(a)}),o(),f(8,$t,2,0,"spk-icon",69)(9,bt,2,0,"spk-icon",70),o(),i(10,"div",48)(11,"button",71),S("click",function(){m(t);let a=p();return C(a.cancelPasswordChange())}),r(12,33),o(),f(13,wt,2,2,"button",72)(14,kt,3,3,"spk-tooltip",73),o()}if(s&2){let t=p();l(3),y("ngModel",t.passphrase),l(4),h("disabled",t.passphrase().length===0),y("ngModel",t.repeatPassphrase),l(),E(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?8:9),l(3),N("loader",t.isUpdating()),l(2),E(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?13:14)}}function Ft(s,e){s&1&&(i(0,"spk-icon",76),R(1,"check"),o())}function xt(s,e){if(s&1){let t=P();i(0,"div",48)(1,"button",71),S("click",function(){m(t);let a=p();return C(a.openPassphraseForm())}),r(2,36),o(),f(3,Ft,2,0,"spk-icon",76),o()}if(s&2){let t=p();l(3),E(t.passwordUpdated()?3:-1)}}function Dt(s,e){if(s&1){let t=P();i(0,"spk-form-field")(1,"label",77),r(2,37),o(),i(3,"textarea",78),A("ngModelChange",function(a){m(t);let d=p();return G(d.allowedHostnames,a)||(d.allowedHostnames=a),C(a)}),o()(),i(4,"spk-alert",79),r(5,38),o(),i(6,"button",74),S("click",function(){m(t);let a=p();return C(a.updateAllowedHostnames())}),r(7,39),o()}if(s&2){let t=p();l(3),y("ngModel",t.allowedHostnames),l(3),N("loader",t.updatingAllowedHosts())}}function Xt(s,e){if(s&1&&R(0),s&2){let t,n=p();W(" ",(t=n.sysinfo())==null?null:t.ServerVersion," ")}}function Vt(s,e){s&1&&O(0,"spk-progress-bar",53)}function zt(s,e){if(s&1&&R(0),s&2){let t=e.$implicit;W(" ",t.label," ")}}function Ut(s,e){if(s&1&&R(0),s&2){let t=e.$implicit;W(" ",t.label," ")}}function Bt(s,e,t){let n=Ct(s),a=n[Be];t?.equal&&(a.equal=t.equal);let d;return n.set=u=>{clearTimeout(d),d=setTimeout(()=>We(a,u),e)},n.update=u=>{clearTimeout(d),d=setTimeout(()=>He(a,u),e)},n}var Wt=[{value:"s",label:$localize`Seconds`},{value:"m",label:$localize`Minutes`},{value:"h",label:$localize`Hours`}],Ht=[{value:"none",label:$localize`System default (information)`},{value:"information",label:$localize`Usage statistics, warnings, errors, and crashes`},{value:"warning",label:$localize`Warnings, errors and crashes`},{value:"error",label:$localize`Errors and crashes`},{value:"crash",label:$localize`Crashes only`},{value:"none",label:$localize`None / disabled`}],_e=class s{#e=T(St);#t=T(Z);#n=T(v);#i=T(F);#o=T(x);#s=T(nt);#a=this.#s.getItem("locale")??"en-US";sysinfo=this.#t.systemInfo;isDarkMode=this.#e.isDarkMode;editAs=c("list");previousLang=this.#a;langCtrl=c(this.#a);usageStatistics=c("");updatingUsageStatistics=c(!1);remoteControlStatus=this.#o.status;updatingChannel=c(!1);updateChannel=c("");setNewChannel(e){let t=this.updateChannel();this.updateChannel.set(e),this.#n.patchApiV1Serversettings({requestBody:{"update-channel":e}}).pipe(I(()=>this.updatingChannel.set(!1)),k(()=>(this.updateChannel.set(t),w(null)))).subscribe()}allowRemoteAccess=c(!1);allowedHostnames=c("");loadedAllowedHostnames=c("");updatingRemoteAccess=c(!1);updatingAllowedHosts=c(!1);updateRemoteAccess(){let e=this.allowRemoteAccess(),t=!e;this.allowRemoteAccess.set(t),this.#n.patchApiV1Serversettings({requestBody:{"server-listen-interface":t?"any":"loopback"}}).pipe(I(()=>this.updatingRemoteAccess.set(!1)),k(()=>(this.allowRemoteAccess.set(e),w(null)))).subscribe()}updateAllowedHostnames(){let e=this.loadedAllowedHostnames(),t=this.allowedHostnames();this.updatingAllowedHosts.set(!0),this.#n.patchApiV1Serversettings({requestBody:{"server-listen-interface":"any","allowed-hostnames":t}}).pipe(I(()=>this.updatingAllowedHosts.set(!1)),k(()=>(this.allowedHostnames.set(e),w(null)))).subscribe()}updatingDisableTrayIconLogin=c(!1);disableTrayIconLogin=c(!1);saveDisableTrayIconLogin(){let e=this.disableTrayIconLogin(),t=!e;this.updatingDisableTrayIconLogin.set(!0),this.disableTrayIconLogin.set(t),this.#n.patchApiV1Serversettings({requestBody:{"disable-tray-icon-login":t?"True":"False"}}).pipe(I(()=>this.updatingDisableTrayIconLogin.set(!1)),k(()=>(this.disableTrayIconLogin.set(e),w(null)))).subscribe()}showPassphraseForm=c(!1);isUpdating=c(!1);passphrase=c("");repeatPassphrase=c("");passwordUpdated=c(!1);updatePassphrase(){this.passphrase()===this.repeatPassphrase()&&(this.isUpdating.set(!0),this.#n.patchApiV1Serversettings({requestBody:{"server-passphrase":this.passphrase()}}).pipe(I(()=>this.isUpdating.set(!1))).subscribe({next:()=>{this.showPassphraseForm.set(!1),this.passwordUpdated.set(!0),setTimeout(()=>{this.passwordUpdated.set(!1)},3e3)}}))}openPassphraseForm(){this.showPassphraseForm.set(!0)}cancelPasswordChange(){this.showPassphraseForm.set(!1)}languageOptions=c(ut);usageStatisticsOptions=c(Ht);timeTypeOptions=c(Wt);timeType=c("s");timeValue=Bt(void 0,300);timeRange=$(()=>this.timeType()==="h"?[0,24]:[0,60]);timeValueEffect=b(()=>{let e=this.timeValue();this.updateStartupDelay()});updateLocale(e){!e||e===""||e===this.previousLang||(this.#s.setItem("locale",e),window.location.reload())}updateStartupDelay(){let e=this.#i.serverSettings(),t=this.timeValue(),n=this.timeType(),a=`${t}${n}`;typeof t!="number"||a===""||e&&e["startup-delay"]===a||this.#n.patchApiV1Serversettings({requestBody:{"startup-delay":a==="0s"?"":a}}).subscribe()}updateTimeType(e){this.timeType.set(e)}updateUsageStatistics(e){let t=this.usageStatistics();!e||e===""||e===t||(this.usageStatistics.set(e),this.updatingUsageStatistics.set(!0),this.#n.patchApiV1Serversettings({requestBody:{"usage-reporter-level":this.usageStatistics()==="none"?"":this.usageStatistics()}}).pipe(I(()=>this.updatingUsageStatistics.set(!1)),k(()=>(this.usageStatistics.set(t),w(null)))).subscribe())}serverSettingsEffect=b(()=>{let e=this.#i.serverSettings();if(e===void 0)return;let t=e["startup-delay"],n=t.slice(-1),a=t.slice(0,-1),d=["s","m","h"];this.disableTrayIconLogin.set(e["disable-tray-icon-login"]!=="False"),this.updateChannel.set(e["update-channel"]),this.allowRemoteAccess.set(e["server-listen-interface"]==="any"),this.allowedHostnames.set(e["allowed-hostnames"]),this.loadedAllowedHostnames.set(e["allowed-hostnames"]),this.usageStatistics.set(e["usage-reporter-level"]===""?"none":e["usage-reporter-level"]),this.timeType.set(d.includes(n)?n:"s"),this.timeValue.set(parseInt(a==""?"0":a))});setDarkMode(){this.#e.setDarkMode()}setLightMode(){this.#e.setLightMode()}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=L({type:s,selectors:[["app-settings"]],decls:132,vars:45,consts:()=>{let e;e=$localize`Settings`;let t;t=$localize`Configure your backup settings.`;let n;n=$localize`Remote access control`;let a;a=$localize`Color theme`;let d;d=$localize`Customize your application theme`;let u;u=$localize`Passwords`;let g;g=$localize`Change server passphrase`;let M;M=$localize`Language`;let de;de=$localize`Select a language for the platform`;let ce;ce=$localize`Allow remote access (requires restart)`;let pe;pe=$localize` By allowing remote access, the server listens to requests from any machine on your network. If you enable this option, make sure you are always using the computer on a secure firewall protected network. `;let Se;Se=$localize`Allow remote access`;let ge;ge=$localize`Prevent tray icon automatic log-in`;let Te;Te=$localize` By default, the tray icon will open the user interface with a token that unlocks the user interface. This ensures that you can access the user interface from the tray icon, while requiring others to enter a password. If you prefer having to type in the password, even when accessing the user interface from the tray icon, enable this option. `;let ue;ue=$localize`Prevent tray icon automatic log-in`;let me;me=$localize`Update channel`;let Ce;Ce=$localize` Default (${"\uFFFD0\uFFFD"}:INTERPOLATION:) `;let Ee;Ee=$localize`Same as the base install version: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let fe;fe=$localize`Stable`;let Ne;Ne=$localize`Official releases`;let Me;Me=$localize`Beta`;let he;he=$localize` Try out the new features that we are working on. Currently the most stable version available. Test Restore data before using this in production environments. `;let Pe;Pe=$localize` Experimental `;let Oe;Oe=$localize`Specific builds for developers only. Not for use with important data.`;let Re;Re=$localize`Canary`;let Ie;Ie=$localize`Individual builds for developers only. Not for use with important data.`;let ye;ye=$localize`Pause after startup or hibernation`;let Ge;Ge=$localize` Duplicati will run when started, but will remain in paused state for the duration. Duplicati will occupy minimal system resources and no backups will be run. `;let Ae;Ae=$localize`Usage statistics`;let X;X=$localize` Usage reports help us improve the user experience and evaluate impact of new features. We use them to generate ${"\uFFFD#119\uFFFD"}:START_LINK:public usage statistics.${"\uFFFD/#119\uFFFD"}:CLOSE_LINK:${"[\uFFFD#120\uFFFD\uFFFD/#120\uFFFD|\uFFFD#121\uFFFD\uFFFD/#121\uFFFD]"}:LINE_BREAK:${"[\uFFFD#120\uFFFD\uFFFD/#120\uFFFD|\uFFFD#121\uFFFD\uFFFD/#121\uFFFD]"}:LINE_BREAK: All usage reports are sent anonymously and do not contain any personal information. They contain information about hardware and operating system, the type of backend, backup duration, overall size of source data and similar data. They do not contain paths, filenames, usernames, passwords or similar sensitive information. `,X=Ze(X);let ve;ve=$localize`Advanced options`;let $e;$e=$localize`Enter new password`;let be;be=$localize`Repeat password`;let we;we=$localize`Password have to be filled and have to match`;let ke;ke=$localize`Passphrase`;let Le;Le=$localize`Repeat passphrase`;let Fe;Fe=$localize`Cancel`;let xe;xe=$localize` Update passphrase `;let De;De=$localize` Update passphrase `;let Xe;Xe=$localize`Change password`;let Ve;Ve=$localize`Allowed hostnames`;let ze;ze=$localize` To prevent various DNS based attacks, Duplicati limits the allowed hostnames to the ones listed here. Direct IP access and localhost is always allowed. Multiple hostnames can be supplied with a semicolon separator. If any of the allowed hostnames is an asterisk (*), all hostnames are allowed and this feature is disabled. If the field is empty, only IP address and localhost access is allowed. `;let Ue;return Ue=$localize` Update allowed hostnames `,[e,t,n,a,d,u,g,M,de,ce,pe,Se,ge,Te,ue,me,Ce,Ee,fe,Ne,Me,he,Pe,Oe,Re,Ie,ye,Ge,Ae,X,ve,ke,Le,Fe,xe,De,Xe,Ve,ze,Ue,[1,"content"],[1,"title"],[1,"left"],[1,"right"],[1,"themes"],["src","assets/images/light-theme.png","alt","light theme",3,"click"],["src","assets/images/dark-theme.png","alt","dark theme",3,"click"],[1,"right","passphrase-form"],[1,"actions"],["value","value","label","label",3,"options","isClearable","inlineSearch"],["type","text",3,"ngModelChange","ngModel","ngModelOptions"],[1,"right","remote-access-form"],[1,"primary","raised",3,"click"],[1,"indeterminate","primary"],[1,"right","radios"],[1,"radio-option",3,"click"],[1,"primary","raised"],[1,"field-row"],[1,"raised","primary",3,"unit"],["type","range",3,"min","max","ngModel","ngModelOptions"],["label","label","value","value",3,"options","isClearable"],["type","text",3,"ngModelChange","ngModel"],["href","#"],["label","label","value","value",3,"options","isLoading"],[1,"advanced-settings"],["for","password"],["type","password","name","password","autocomplete","disabled","placeholder",$e,"tabindex","1",3,"ngModelChange","ngModel"],["for","repeatPassword"],["type","password","name","repeatPassword","autocomplete","disabled","placeholder",be,"tabindex","2",3,"ngModelChange","disabled","ngModel"],["suffix","",1,"spk-success"],["suffix",""],["spk-button","",3,"click"],["spk-button","",1,"raised","primary",3,"loader"],["message",we,1,"primary"],["spk-button","",1,"raised","primary",3,"click"],["spk-button","",1,"raised","primary",3,"click","disabled"],[1,"spk-success"],["for","allowedHostnames"],["type","text","id","allowedHostnames",3,"ngModelChange","ngModel"],["type","primary"]]},template:function(t,n){if(t&1&&(O(0,"app-status-bar"),i(1,"div",40)(2,"header")(3,"div",41)(4,"h2"),r(5,0),o(),i(6,"p"),r(7,1),o()()(),i(8,"section")(9,"div",42)(10,"h3"),r(11,2),o(),i(12,"p"),R(13),o()(),i(14,"div",43),O(15,"app-remote-control"),o()(),i(16,"section")(17,"div",42)(18,"h3"),r(19,3),o(),i(20,"p"),r(21,4),o()(),i(22,"div",43)(23,"div",44)(24,"img",45),S("click",function(){return n.setLightMode()}),o(),i(25,"img",46),S("click",function(){return n.setDarkMode()}),o()()()(),i(26,"section")(27,"div",42)(28,"h3"),r(29,5),o(),i(30,"p"),r(31,6),o()(),i(32,"div",47),f(33,Lt,15,7)(34,xt,4,1,"div",48),o()(),i(35,"section")(36,"div",42)(37,"h3"),r(38,7),o(),i(39,"p"),r(40,8),o()(),i(41,"div",43)(42,"spk-select",49)(43,"input",50),S("ngModelChange",function(d){return n.updateLocale(d)}),o()()()(),i(44,"section")(45,"div",42)(46,"h3"),r(47,9),o(),i(48,"p"),r(49,10),o()(),i(50,"div",51)(51,"spk-toggle",52),S("click",function(){return n.updateRemoteAccess()}),i(52,"label"),r(53,11),o()(),f(54,Dt,8,3),o()(),i(55,"section")(56,"div",42)(57,"h3"),r(58,12),o(),i(59,"p"),r(60,13),o()(),i(61,"div",43)(62,"spk-toggle",52),S("click",function(){return n.saveDisableTrayIconLogin()}),i(63,"label"),r(64,14),o()()()(),i(65,"section")(66,"div",42)(67,"h3"),r(68,15),o(),i(69,"p"),f(70,Xt,1,1),o(),f(71,Vt,1,0,"spk-progress-bar",53),o(),i(72,"div",54)(73,"div",55),S("click",function(){return n.setNewChannel("")}),i(74,"spk-radio",56),r(75,16),o(),i(76,"p"),r(77,17),o()(),i(78,"div",55),S("click",function(){return n.setNewChannel("stable")}),i(79,"spk-radio",56),r(80,18),o(),i(81,"p"),r(82,19),o()(),i(83,"div",55),S("click",function(){return n.setNewChannel("beta")}),i(84,"spk-radio",56),r(85,20),o(),i(86,"p"),r(87,21),o()(),i(88,"div",55),S("click",function(){return n.setNewChannel("experimental")}),i(89,"spk-radio",56),r(90,22),o(),i(91,"p"),r(92,23),o()(),i(93,"div",55),S("click",function(){return n.setNewChannel("canary")}),i(94,"spk-radio",56),r(95,24),o(),i(96,"p"),r(97,25),o()()()()(),O(98,"spk-divider"),i(99,"div",40)(100,"section")(101,"div",42)(102,"h3"),r(103,26),o(),i(104,"p"),r(105,27),o()(),i(106,"div",43)(107,"div",57)(108,"spk-range-slider",58),O(109,"input",59),o(),i(110,"spk-select",60)(111,"input",61),S("ngModelChange",function(d){return n.updateTimeType(d)}),o(),f(112,zt,1,1,"ng-template"),o()()()(),i(113,"section")(114,"div",42)(115,"h3"),r(116,28),o(),i(117,"p"),z(118,29),O(119,"a",62)(120,"br")(121,"br"),U(),o()(),i(122,"div",43)(123,"spk-select",63)(124,"input",50),S("ngModelChange",function(d){return n.updateUsageStatistics(d)}),o(),f(125,Ut,1,1,"ng-template"),o()()()(),i(126,"div",40)(127,"section")(128,"div",64)(129,"h3"),r(130,30),o(),O(131,"app-advanced-options-settings"),o()()()),t&2){let a,d,u;l(13),B(n.remoteControlStatus()),l(11),N("active",!n.isDarkMode()),l(),N("active",n.isDarkMode()),l(8),E(n.showPassphraseForm()?33:34),l(9),h("options",n.languageOptions())("isClearable",!1)("inlineSearch",!0),l(),h("ngModel",n.langCtrl())("ngModelOptions",H(42,le)),l(8),N("active",n.allowRemoteAccess()),l(3),E(n.allowRemoteAccess()?54:-1),l(8),N("active",n.disableTrayIconLogin()),l(8),E(n.updateChannel()!==""&&((a=n.sysinfo())!=null&&a.ServerVersion)?70:-1),l(),E(n.updatingChannel()?71:-1),l(3),N("active",n.updateChannel()===""),l(),se((d=n.sysinfo())==null?null:d.DefaultUpdateChannel),ae(75),l(2),se((u=n.sysinfo())==null?null:u.ServerVersionType),ae(77),l(2),N("active",n.updateChannel()==="stable"),l(5),N("active",n.updateChannel()==="beta"),l(5),N("active",n.updateChannel()==="experimental"),l(5),N("active",n.updateChannel()==="canary"),l(14),h("unit",n.timeType()),l(),h("min",n.timeRange()[0])("max",n.timeRange()[1])("ngModel",n.timeValue)("ngModelOptions",H(43,le)),l(),h("options",n.timeTypeOptions())("isClearable",!1),l(),h("ngModel",n.timeType()),l(12),h("options",n.usageStatisticsOptions())("isLoading",n.updatingUsageStatistics()),l(),h("ngModel",n.usageStatistics())("ngModelOptions",H(44,le))}},dependencies:[te,J,ct,Y,ee,ne,gt,oe,D,K,at,rt,st,_t,dt,Q,q,ot,j,lt],styles:["[_nghost-%COMP%]{display:block}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:0 2rem 2rem}header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:2rem 0;position:sticky;top:0;background:var(--base-level-10);z-index:1000;border-bottom:1px solid var(--base-level-40)}header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}section[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:2rem 0;border-top:1px solid var(--base-level-40)}section[_ngcontent-%COMP%]:first-of-type{border-top:0}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;align-items:flex-start}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] spk-button-group[_ngcontent-%COMP%]{margin-top:.25rem}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-wrap:balance;width:50%}.passphrase-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.passphrase-form[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.remote-access-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.themes[_ngcontent-%COMP%]{display:flex;gap:.5rem}.themes[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-width:240px;border-radius:var(--shape-3);cursor:pointer}.themes[_ngcontent-%COMP%] img.active[_ngcontent-%COMP%]{border:2px solid var(--primary-500)}.radios[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.radio-option[_ngcontent-%COMP%]{cursor:pointer}.radio-option[_ngcontent-%COMP%] spk-radio[_ngcontent-%COMP%]{color:var(--base-level-60);margin-bottom:.25rem}.radio-option[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-wrap:balance;color:var(--base-level-60R)}.field-col[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.field-row[_ngcontent-%COMP%]{display:flex;gap:.5rem;width:100%}.field-row[_ngcontent-%COMP%] spk-form-field[_ngcontent-%COMP%], .field-row[_ngcontent-%COMP%] spk-select[_ngcontent-%COMP%]{flex:1 0}.advanced-settings[_ngcontent-%COMP%]{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;gap:1rem}"],changeDetection:0})};export{Bt as debounceSignal,_e as default};
|
|
1
|
+
import{n as re}from"./chunk-MFKBZ7PS.js";import"./chunk-6DH6O5YE.js";import"./chunk-25P4YYJP.js";import"./chunk-VN7JM6M3.js";import"./chunk-KSP3JQHY.js";import{a as Tt}from"./chunk-HTNYQE2B.js";import{a as ut}from"./chunk-IXM6PMZU.js";import{a as Z}from"./chunk-H4FB6PPA.js";import{a as St}from"./chunk-XJXOUOD5.js";import{a as gt}from"./chunk-NOO722WB.js";import{a as pt}from"./chunk-7L42EO7J.js";import"./chunk-6HM2RSLN.js";import"./chunk-Q2QM66LC.js";import"./chunk-OUUFQQAS.js";import"./chunk-RHW5QVAY.js";import"./chunk-O2YN63YI.js";import{c as J,e as Y,h as ee,l as ct,s as te,t as ne}from"./chunk-T2OUHRUV.js";import"./chunk-6X3MMKNW.js";import{a as nt}from"./chunk-I3C2AEHI.js";import"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{A as dt,a as q,b as j,e as it,g as K,k as ot,l as Q,p as st,q as at,r as rt,t as lt,z as _t}from"./chunk-WX7L7V6J.js";import{h as v}from"./chunk-WAKYTFC3.js";import"./chunk-DE4NDI5F.js";import"./chunk-CKPICCFH.js";import"./chunk-PFYOWXZZ.js";import{$b as R,Ac as $,B as k,Bc as b,Cb as P,F as I,Gb as z,Hb as U,Ib as r,Jb as se,Kb as ae,Lb as Ze,Mb as S,Na as qe,Nb as p,Qa as l,Qb as Je,S as V,Xa as je,Y as T,Yb as Ye,Zb as et,a as Be,ab as L,ac as B,b as We,bc as W,c as He,da as m,ea as C,ec as y,fb as f,fc as G,gc as A,kb as Ke,kc as tt,lb as Qe,lc as H,n as w,nb as h,pb as N,sb as E,ua as c,wb as i,xb as o,yb as O}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";var F=class s{#e=T(v);#t=Tt(this.#e.getApiV1Serversettings());#n=c(void 0);serverSettings=$(()=>this.#n()||this.#t());refreshServerSettings(){this.#e.getApiV1Serversettings().subscribe({next:e=>{this.#n.set(e)}})}static \u0275fac=function(t){return new(t||s)};static \u0275prov=V({token:s,factory:s.\u0275fac,providedIn:"root"})};var Et=["formRef"],ft=()=>[import("./chunk-JZCXYOBH.js").then(s=>s.OptionsListComponent)];function Nt(s,e){s&1&&(i(0,"spk-alert",3),r(1,1),o())}function Mt(s,e){if(s&1){let t=P();i(0,"app-options-list",5),A("optionsChange",function(a){m(t);let d=p();return G(d.settings,a)||(d.settings=a),C(a)}),o()}if(s&2){let t=p();y("options",t.settings),h("hasFreeTextSettings",!0)}}var ht=["Bytes","KB","MB","GB","TB","PB"],D=class s{#e=T(re);#t=T(F);#n=T(v);formRef=je.required("formRef");settings=this.#e.settings;isSubmitting=c(!1);isLoadingOptions=c(!0);saved=c(!1);sizeOptions=c(ht);lastRecievedServerSettings=c({});serverSettingsEffect=b(()=>{let e=this.#t.serverSettings();if(e===void 0)return;this.lastRecievedServerSettings.set(e),this.isLoadingOptions.set(!0);let t=Object.entries(e);t.forEach(([n,a],d)=>{if(n.startsWith("--")){let u=n.replace("--","");this.settings.update(g=>(g.some(M=>M.Name===u)||g.push({Name:u,Value:a}),g))}d===t.length-1&&this.isLoadingOptions.set(!1)})});submit(){this.isSubmitting.set(!0);let e=this.settings(),t=this.lastRecievedServerSettings(),n=e.map(g=>g.Name),d=Object.keys(t).filter(g=>!n.includes(g.replace("--",""))),u=e.reduce((g,M)=>(g[`--${M.Name}`]=M.Value,g),{});d.forEach(g=>{u[g]=null}),this.#n.patchApiV1Serversettings({requestBody:u}).pipe(I(()=>this.isSubmitting.set(!1))).subscribe({next:()=>{this.#t.refreshServerSettings(),this.saved.set(!0),setTimeout(()=>{this.saved.set(!1)},3e3)}})}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=L({type:s,selectors:[["app-advanced-options-settings"]],viewQuery:function(t,n){t&1&&Ye(n.formRef,Et,5),t&2&&et()},features:[tt([re])],decls:8,vars:4,consts:()=>{let e;e=$localize`${"\uFFFD#4\uFFFD"}:START_TAG_SPK_ICON:floppy-disk${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_SPK_ICON: Save settings `;let t;return t=$localize`Settings saved`,[e,t,[1,"actions"],[1,"success"],["spk-button","","type","button",1,"raised","primary",3,"click"],[3,"optionsChange","options","hasFreeTextSettings"]]},template:function(t,n){t&1&&(i(0,"div",2),f(1,Nt,2,0,"spk-alert",3),i(2,"button",4),S("click",function(){return n.submit()}),z(3,0),O(4,"spk-icon"),U(),o()(),f(5,Mt,1,2),Ke(6,5,ft)),t&2&&(l(),E(n.saved()?1:-1),l(),N("loader",n.isSubmitting()),l(4),Qe(!n.isLoadingOptions()))},dependencies:[ne,K,q,j],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:40.625rem;justify-self:flex-end}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;justify-content:flex-end;margin-bottom:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap: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}.row-inputs[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1 0}.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}"],changeDetection:0})};var x=class s{#e=T(it);#t=T(v);#n=T(Z);repeatRegisterTimer=null;state=c("unknown");claimUrl=c(null);registerUrl=c("");status=$(()=>{let e=this.state();return e==="enabled"?"Remote control is enabled but not connected":e==="connected"?"Remote control is connected":e==="registering"?"Registering machine...":e==="registeringfaulted"?"Registration failed":e==="registered"?"Registered, waiting for accept":e==="disabled"?"Remote control is configured but not enabled":e==="unknown"?"...loading...":"Remote control is not set up"});sysInfoEffect=b(()=>{let e=this.#n.systemInfo();e&&this.registerUrl.set(e.RemoteControlRegistrationUrl??"")});#i(e){e.RegistrationUrl&&this.claimUrl.set(e.RegistrationUrl),e.IsConnected?this.state.set("connected"):e.IsEnabled?this.state.set("enabled"):e.CanEnable?this.state.set("disabled"):e.IsRegisteringFaulted?this.state.set("registeringfaulted"):e.IsRegistering?e.RegistrationUrl!=null&&e.RegistrationUrl.trim().length>0?this.state.set("registered"):this.state.set("registering"):this.state.set("inactive");let t=this.state();this.repeatRegisterTimer!==null&&(clearTimeout(this.repeatRegisterTimer),this.repeatRegisterTimer=null),t==="registering"&&(this.repeatRegisterTimer=setTimeout(()=>{this.#t.postApiV1RemotecontrolRegister({requestBody:{RegistrationUrl:""}}).subscribe({next:n=>this.#i(n),error:n=>this.#o(n)})},5e3)),(t==="enabled"||t==="registered")&&(this.repeatRegisterTimer=setTimeout(()=>{this.#t.getApiV1RemotecontrolStatus().subscribe({next:n=>this.#i(n),error:n=>this.#o(n)})},5e3)),e.IsRegistering&&e.CanEnable&&this.#t.deleteApiV1RemotecontrolRegister().subscribe({next:n=>this.#i(n)})}#o(e){this.#t.getApiV1RemotecontrolStatus().subscribe({next:t=>this.#i(t)})}refreshRemoteControlStatus(){this.#t.getApiV1RemotecontrolStatus().subscribe({next:e=>this.#i(e),error:e=>this.#o(e)})}beginRemoteRegistration(){this.state.set("registering"),this.#t.postApiV1RemotecontrolRegister({requestBody:{RegistrationUrl:this.registerUrl()}}).subscribe({next:e=>this.#i(e),error:e=>this.#o(e)})}cancelRemoteRegistration(){this.#t.deleteApiV1RemotecontrolRegister().subscribe({next:e=>this.#i(e),error:e=>this.#o(e)})}enableRemoteControl(){this.#t.postApiV1RemotecontrolEnable().subscribe({next:e=>this.#i(e),error:e=>this.#o(e)})}disableRemoteControl(){this.#t.postApiV1RemotecontrolDisable().subscribe({next:e=>this.#i(e),error:e=>this.#o(e)})}deleteRemoteControl(){let e=this;this.#e.open(pt,{data:{title:$localize`Confirm delete`,message:$localize`Are you sure you want to delete the remote control registration?`,confirmText:$localize`Delete registration`,cancelText:$localize`Cancel`},closed:t=>{t&&e.#t.deleteApiV1RemotecontrolRegistration().subscribe({next:n=>e.#i(n),error:n=>e.#o(n)})}})}static \u0275fac=function(t){return new(t||s)};static \u0275prov=V({token:s,factory:s.\u0275fac,providedIn:"root"})};function Ot(s,e){if(s&1){let t=P();i(0,"spk-form-field",10)(1,"input",11),A("ngModelChange",function(a){m(t);let d=p(2);return G(d.registerUrl,a)||(d.registerUrl=a),C(a)}),o()(),i(2,"button",12),S("click",function(){m(t);let a=p(2);return C(a.register())}),r(3,0),o()}if(s&2){let t=p(2);l(),y("ngModel",t.registerUrl)}}function Rt(s,e){if(s&1&&(i(0,"div",8)(1,"label"),r(2,1),o(),i(3,"a",13),R(4),o()()),s&2){let t=p(2);l(3),Je("href",t.claimUrl(),qe),l(),B(t.claimUrl())}}function It(s,e){s&1&&(i(0,"div",8)(1,"label"),r(2,2),o()())}function yt(s,e){if(s&1){let t=P();i(0,"button",12),S("click",function(){m(t);let a=p(2);return C(a.cancel())}),r(1,3),o()}}function Gt(s,e){if(s&1){let t=P();i(0,"button",12),S("click",function(){m(t);let a=p(2);return C(a.disable())}),r(1,4),o()}}function At(s,e){if(s&1){let t=P();i(0,"button",12),S("click",function(){m(t);let a=p(2);return C(a.enable())}),r(1,5),o(),i(2,"button",14),S("click",function(){m(t);let a=p(2);return C(a.delete())}),r(3,6),o()}}function vt(s,e){if(s&1&&(i(0,"div",7),f(1,Ot,4,1)(2,Rt,5,2,"div",8)(3,It,3,0,"div",8)(4,yt,2,0,"button",9)(5,Gt,2,0,"button",9)(6,At,4,0),o()),s&2){let t=p();l(),E(t.state()==="inactive"?1:-1),l(),E(t.state()==="registered"?2:-1),l(),E(t.state()==="registering"?3:-1),l(),E(t.state()==="registering"||t.state()==="registeringfaulted"||t.state()==="registered"?4:-1),l(),E(t.state()==="connected"||t.state()==="enabled"?5:-1),l(),E(t.state()==="disabled"?6:-1)}}var oe=class s{#e=T(x);state=this.#e.state;claimUrl=this.#e.claimUrl;registerUrl=this.#e.registerUrl;ngOnInit(){this.#e.refreshRemoteControlStatus()}cancel(){this.#e.cancelRemoteRegistration()}register(){this.#e.beginRemoteRegistration()}disable(){this.#e.disableRemoteControl()}enable(){this.#e.enableRemoteControl()}delete(){this.#e.deleteRemoteControl()}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=L({type:s,selectors:[["app-remote-control"]],decls:1,vars:1,consts:()=>{let e;e=$localize`Register for remote control`;let t;t=$localize`Machine is now registered, open this link to add it to your account:`;let n;n=$localize`Registering, please wait...`;let a;a=$localize`Cancel registration`;let d;d=$localize`Disable remote control`;let u;u=$localize`Enable remote control`;let g;return g=$localize`Delete remote control setup`,[e,t,n,a,d,u,g,[1,"field-row"],[1,"field-col"],["type","button","spk-button","",1,"raised"],["label","Registration URL","for","remoteControlRegisterUrl"],["type","text","spk-input","","id","remoteControlRegisterUrl","name","remoteControlRegisterUrl",3,"ngModelChange","ngModel"],["type","button","spk-button","",1,"raised",3,"click"],["target","_blank",3,"href"],["type","button","spk-button","",1,"raised","error",3,"click"]]},template:function(t,n){t&1&&f(0,vt,7,6,"div",7),t&2&&E(n.state()!=="unknown"?0:-1)},dependencies:[te,J,Y,ee,Q],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] button[_ngcontent-%COMP%]{white-space:nowrap}.field-row[_ngcontent-%COMP%]{display:flex;gap:.5rem;width:100%}.field-row[_ngcontent-%COMP%] spk-form-field[_ngcontent-%COMP%], .field-row[_ngcontent-%COMP%] spk-select[_ngcontent-%COMP%]{flex:1 0}"],changeDetection:0})};function Ct(...s){let e=c(...s);return Object.defineProperty(e,"value",{get:e.asReadonly(),set:e.set.bind(e)})}var le=()=>({standalone:!0});function $t(s,e){s&1&&(i(0,"spk-icon",69),R(1,"check"),o())}function bt(s,e){s&1&&(i(0,"spk-icon",70),R(1,"prohibit"),o())}function wt(s,e){if(s&1){let t=P();i(0,"button",74),S("click",function(){m(t);let a=p(2);return C(a.updatePassphrase())}),r(1,34),o()}if(s&2){let t=p(2);N("loader",t.isUpdating())}}function kt(s,e){if(s&1){let t=P();i(0,"spk-tooltip",73)(1,"button",75),S("click",function(){m(t);let a=p(2);return C(a.updatePassphrase())}),r(2,35),o()()}if(s&2){let t=p(2);l(),N("loader",t.isUpdating()),h("disabled",!0)}}function Lt(s,e){if(s&1){let t=P();i(0,"spk-form-field")(1,"label",65),r(2,31),o(),i(3,"input",66),A("ngModelChange",function(a){m(t);let d=p();return G(d.passphrase,a)||(d.passphrase=a),C(a)}),o()(),i(4,"spk-form-field")(5,"label",67),r(6,32),o(),i(7,"input",68),A("ngModelChange",function(a){m(t);let d=p();return G(d.repeatPassphrase,a)||(d.repeatPassphrase=a),C(a)}),o(),f(8,$t,2,0,"spk-icon",69)(9,bt,2,0,"spk-icon",70),o(),i(10,"div",48)(11,"button",71),S("click",function(){m(t);let a=p();return C(a.cancelPasswordChange())}),r(12,33),o(),f(13,wt,2,2,"button",72)(14,kt,3,3,"spk-tooltip",73),o()}if(s&2){let t=p();l(3),y("ngModel",t.passphrase),l(4),h("disabled",t.passphrase().length===0),y("ngModel",t.repeatPassphrase),l(),E(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?8:9),l(3),N("loader",t.isUpdating()),l(2),E(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?13:14)}}function Ft(s,e){s&1&&(i(0,"spk-icon",76),R(1,"check"),o())}function xt(s,e){if(s&1){let t=P();i(0,"div",48)(1,"button",71),S("click",function(){m(t);let a=p();return C(a.openPassphraseForm())}),r(2,36),o(),f(3,Ft,2,0,"spk-icon",76),o()}if(s&2){let t=p();l(3),E(t.passwordUpdated()?3:-1)}}function Dt(s,e){if(s&1){let t=P();i(0,"spk-form-field")(1,"label",77),r(2,37),o(),i(3,"textarea",78),A("ngModelChange",function(a){m(t);let d=p();return G(d.allowedHostnames,a)||(d.allowedHostnames=a),C(a)}),o()(),i(4,"spk-alert",79),r(5,38),o(),i(6,"button",74),S("click",function(){m(t);let a=p();return C(a.updateAllowedHostnames())}),r(7,39),o()}if(s&2){let t=p();l(3),y("ngModel",t.allowedHostnames),l(3),N("loader",t.updatingAllowedHosts())}}function Xt(s,e){if(s&1&&R(0),s&2){let t,n=p();W(" ",(t=n.sysinfo())==null?null:t.ServerVersion," ")}}function Vt(s,e){s&1&&O(0,"spk-progress-bar",53)}function zt(s,e){if(s&1&&R(0),s&2){let t=e.$implicit;W(" ",t.label," ")}}function Ut(s,e){if(s&1&&R(0),s&2){let t=e.$implicit;W(" ",t.label," ")}}function Bt(s,e,t){let n=Ct(s),a=n[Be];t?.equal&&(a.equal=t.equal);let d;return n.set=u=>{clearTimeout(d),d=setTimeout(()=>We(a,u),e)},n.update=u=>{clearTimeout(d),d=setTimeout(()=>He(a,u),e)},n}var Wt=[{value:"s",label:$localize`Seconds`},{value:"m",label:$localize`Minutes`},{value:"h",label:$localize`Hours`}],Ht=[{value:"none",label:$localize`System default (information)`},{value:"information",label:$localize`Usage statistics, warnings, errors, and crashes`},{value:"warning",label:$localize`Warnings, errors and crashes`},{value:"error",label:$localize`Errors and crashes`},{value:"crash",label:$localize`Crashes only`},{value:"none",label:$localize`None / disabled`}],_e=class s{#e=T(St);#t=T(Z);#n=T(v);#i=T(F);#o=T(x);#s=T(nt);#a=this.#s.getItem("locale")??"en-US";sysinfo=this.#t.systemInfo;isDarkMode=this.#e.isDarkMode;editAs=c("list");previousLang=this.#a;langCtrl=c(this.#a);usageStatistics=c("");updatingUsageStatistics=c(!1);remoteControlStatus=this.#o.status;updatingChannel=c(!1);updateChannel=c("");setNewChannel(e){let t=this.updateChannel();this.updateChannel.set(e),this.#n.patchApiV1Serversettings({requestBody:{"update-channel":e}}).pipe(I(()=>this.updatingChannel.set(!1)),k(()=>(this.updateChannel.set(t),w(null)))).subscribe()}allowRemoteAccess=c(!1);allowedHostnames=c("");loadedAllowedHostnames=c("");updatingRemoteAccess=c(!1);updatingAllowedHosts=c(!1);updateRemoteAccess(){let e=this.allowRemoteAccess(),t=!e;this.allowRemoteAccess.set(t),this.#n.patchApiV1Serversettings({requestBody:{"server-listen-interface":t?"any":"loopback"}}).pipe(I(()=>this.updatingRemoteAccess.set(!1)),k(()=>(this.allowRemoteAccess.set(e),w(null)))).subscribe()}updateAllowedHostnames(){let e=this.loadedAllowedHostnames(),t=this.allowedHostnames();this.updatingAllowedHosts.set(!0),this.#n.patchApiV1Serversettings({requestBody:{"server-listen-interface":"any","allowed-hostnames":t}}).pipe(I(()=>this.updatingAllowedHosts.set(!1)),k(()=>(this.allowedHostnames.set(e),w(null)))).subscribe()}updatingDisableTrayIconLogin=c(!1);disableTrayIconLogin=c(!1);saveDisableTrayIconLogin(){let e=this.disableTrayIconLogin(),t=!e;this.updatingDisableTrayIconLogin.set(!0),this.disableTrayIconLogin.set(t),this.#n.patchApiV1Serversettings({requestBody:{"disable-tray-icon-login":t?"True":"False"}}).pipe(I(()=>this.updatingDisableTrayIconLogin.set(!1)),k(()=>(this.disableTrayIconLogin.set(e),w(null)))).subscribe()}showPassphraseForm=c(!1);isUpdating=c(!1);passphrase=c("");repeatPassphrase=c("");passwordUpdated=c(!1);updatePassphrase(){this.passphrase()===this.repeatPassphrase()&&(this.isUpdating.set(!0),this.#n.patchApiV1Serversettings({requestBody:{"server-passphrase":this.passphrase()}}).pipe(I(()=>this.isUpdating.set(!1))).subscribe({next:()=>{this.showPassphraseForm.set(!1),this.passwordUpdated.set(!0),setTimeout(()=>{this.passwordUpdated.set(!1)},3e3)}}))}openPassphraseForm(){this.showPassphraseForm.set(!0)}cancelPasswordChange(){this.showPassphraseForm.set(!1)}languageOptions=c(ut);usageStatisticsOptions=c(Ht);timeTypeOptions=c(Wt);timeType=c("s");timeValue=Bt(void 0,300);timeRange=$(()=>this.timeType()==="h"?[0,24]:[0,60]);timeValueEffect=b(()=>{let e=this.timeValue();this.updateStartupDelay()});updateLocale(e){!e||e===""||e===this.previousLang||(this.#s.setItem("locale",e),window.location.reload())}updateStartupDelay(){let e=this.#i.serverSettings(),t=this.timeValue(),n=this.timeType(),a=`${t}${n}`;typeof t!="number"||a===""||e&&e["startup-delay"]===a||this.#n.patchApiV1Serversettings({requestBody:{"startup-delay":a==="0s"?"":a}}).subscribe()}updateTimeType(e){this.timeType.set(e)}updateUsageStatistics(e){let t=this.usageStatistics();!e||e===""||e===t||(this.usageStatistics.set(e),this.updatingUsageStatistics.set(!0),this.#n.patchApiV1Serversettings({requestBody:{"usage-reporter-level":this.usageStatistics()==="none"?"":this.usageStatistics()}}).pipe(I(()=>this.updatingUsageStatistics.set(!1)),k(()=>(this.usageStatistics.set(t),w(null)))).subscribe())}serverSettingsEffect=b(()=>{let e=this.#i.serverSettings();if(e===void 0)return;let t=e["startup-delay"],n=t.slice(-1),a=t.slice(0,-1),d=["s","m","h"];this.disableTrayIconLogin.set(e["disable-tray-icon-login"]!=="False"),this.updateChannel.set(e["update-channel"]),this.allowRemoteAccess.set(e["server-listen-interface"]==="any"),this.allowedHostnames.set(e["allowed-hostnames"]),this.loadedAllowedHostnames.set(e["allowed-hostnames"]),this.usageStatistics.set(e["usage-reporter-level"]===""?"none":e["usage-reporter-level"]),this.timeType.set(d.includes(n)?n:"s"),this.timeValue.set(parseInt(a==""?"0":a))});setDarkMode(){this.#e.setDarkMode()}setLightMode(){this.#e.setLightMode()}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=L({type:s,selectors:[["app-settings"]],decls:132,vars:45,consts:()=>{let e;e=$localize`Settings`;let t;t=$localize`Configure your backup settings.`;let n;n=$localize`Remote access control`;let a;a=$localize`Color theme`;let d;d=$localize`Customize your application theme`;let u;u=$localize`Passwords`;let g;g=$localize`Change server passphrase`;let M;M=$localize`Language`;let de;de=$localize`Select a language for the platform`;let ce;ce=$localize`Allow remote access (requires restart)`;let pe;pe=$localize` By allowing remote access, the server listens to requests from any machine on your network. If you enable this option, make sure you are always using the computer on a secure firewall protected network. `;let Se;Se=$localize`Allow remote access`;let ge;ge=$localize`Prevent tray icon automatic log-in`;let Te;Te=$localize` By default, the tray icon will open the user interface with a token that unlocks the user interface. This ensures that you can access the user interface from the tray icon, while requiring others to enter a password. If you prefer having to type in the password, even when accessing the user interface from the tray icon, enable this option. `;let ue;ue=$localize`Prevent tray icon automatic log-in`;let me;me=$localize`Update channel`;let Ce;Ce=$localize` Default (${"\uFFFD0\uFFFD"}:INTERPOLATION:) `;let Ee;Ee=$localize`Same as the base install version: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let fe;fe=$localize`Stable`;let Ne;Ne=$localize`Official releases`;let Me;Me=$localize`Beta`;let he;he=$localize` Try out the new features that we are working on. Currently the most stable version available. Test Restore data before using this in production environments. `;let Pe;Pe=$localize` Experimental `;let Oe;Oe=$localize`Specific builds for developers only. Not for use with important data.`;let Re;Re=$localize`Canary`;let Ie;Ie=$localize`Individual builds for developers only. Not for use with important data.`;let ye;ye=$localize`Pause after startup or hibernation`;let Ge;Ge=$localize` Duplicati will run when started, but will remain in paused state for the duration. Duplicati will occupy minimal system resources and no backups will be run. `;let Ae;Ae=$localize`Usage statistics`;let X;X=$localize` Usage reports help us improve the user experience and evaluate impact of new features. We use them to generate ${"\uFFFD#119\uFFFD"}:START_LINK:public usage statistics.${"\uFFFD/#119\uFFFD"}:CLOSE_LINK:${"[\uFFFD#120\uFFFD\uFFFD/#120\uFFFD|\uFFFD#121\uFFFD\uFFFD/#121\uFFFD]"}:LINE_BREAK:${"[\uFFFD#120\uFFFD\uFFFD/#120\uFFFD|\uFFFD#121\uFFFD\uFFFD/#121\uFFFD]"}:LINE_BREAK: All usage reports are sent anonymously and do not contain any personal information. They contain information about hardware and operating system, the type of backend, backup duration, overall size of source data and similar data. They do not contain paths, filenames, usernames, passwords or similar sensitive information. `,X=Ze(X);let ve;ve=$localize`Advanced options`;let $e;$e=$localize`Enter new password`;let be;be=$localize`Repeat password`;let we;we=$localize`Password have to be filled and have to match`;let ke;ke=$localize`Passphrase`;let Le;Le=$localize`Repeat passphrase`;let Fe;Fe=$localize`Cancel`;let xe;xe=$localize` Update passphrase `;let De;De=$localize` Update passphrase `;let Xe;Xe=$localize`Change password`;let Ve;Ve=$localize`Allowed hostnames`;let ze;ze=$localize` To prevent various DNS based attacks, Duplicati limits the allowed hostnames to the ones listed here. Direct IP access and localhost is always allowed. Multiple hostnames can be supplied with a semicolon separator. If any of the allowed hostnames is an asterisk (*), all hostnames are allowed and this feature is disabled. If the field is empty, only IP address and localhost access is allowed. `;let Ue;return Ue=$localize` Update allowed hostnames `,[e,t,n,a,d,u,g,M,de,ce,pe,Se,ge,Te,ue,me,Ce,Ee,fe,Ne,Me,he,Pe,Oe,Re,Ie,ye,Ge,Ae,X,ve,ke,Le,Fe,xe,De,Xe,Ve,ze,Ue,[1,"content"],[1,"title"],[1,"left"],[1,"right"],[1,"themes"],["src","assets/images/light-theme.png","alt","light theme",3,"click"],["src","assets/images/dark-theme.png","alt","dark theme",3,"click"],[1,"right","passphrase-form"],[1,"actions"],["value","value","label","label",3,"options","isClearable","inlineSearch"],["type","text",3,"ngModelChange","ngModel","ngModelOptions"],[1,"right","remote-access-form"],[1,"primary","raised",3,"click"],[1,"indeterminate","primary"],[1,"right","radios"],[1,"radio-option",3,"click"],[1,"primary","raised"],[1,"field-row"],[1,"raised","primary",3,"unit"],["type","range",3,"min","max","ngModel","ngModelOptions"],["label","label","value","value",3,"options","isClearable"],["type","text",3,"ngModelChange","ngModel"],["href","#"],["label","label","value","value",3,"options","isLoading"],[1,"advanced-settings"],["for","password"],["type","password","name","password","autocomplete","disabled","placeholder",$e,"tabindex","1",3,"ngModelChange","ngModel"],["for","repeatPassword"],["type","password","name","repeatPassword","autocomplete","disabled","placeholder",be,"tabindex","2",3,"ngModelChange","disabled","ngModel"],["suffix","",1,"spk-success"],["suffix",""],["spk-button","",3,"click"],["spk-button","",1,"raised","primary",3,"loader"],["message",we,1,"primary"],["spk-button","",1,"raised","primary",3,"click"],["spk-button","",1,"raised","primary",3,"click","disabled"],[1,"spk-success"],["for","allowedHostnames"],["type","text","id","allowedHostnames",3,"ngModelChange","ngModel"],["type","primary"]]},template:function(t,n){if(t&1&&(O(0,"app-status-bar"),i(1,"div",40)(2,"header")(3,"div",41)(4,"h2"),r(5,0),o(),i(6,"p"),r(7,1),o()()(),i(8,"section")(9,"div",42)(10,"h3"),r(11,2),o(),i(12,"p"),R(13),o()(),i(14,"div",43),O(15,"app-remote-control"),o()(),i(16,"section")(17,"div",42)(18,"h3"),r(19,3),o(),i(20,"p"),r(21,4),o()(),i(22,"div",43)(23,"div",44)(24,"img",45),S("click",function(){return n.setLightMode()}),o(),i(25,"img",46),S("click",function(){return n.setDarkMode()}),o()()()(),i(26,"section")(27,"div",42)(28,"h3"),r(29,5),o(),i(30,"p"),r(31,6),o()(),i(32,"div",47),f(33,Lt,15,7)(34,xt,4,1,"div",48),o()(),i(35,"section")(36,"div",42)(37,"h3"),r(38,7),o(),i(39,"p"),r(40,8),o()(),i(41,"div",43)(42,"spk-select",49)(43,"input",50),S("ngModelChange",function(d){return n.updateLocale(d)}),o()()()(),i(44,"section")(45,"div",42)(46,"h3"),r(47,9),o(),i(48,"p"),r(49,10),o()(),i(50,"div",51)(51,"spk-toggle",52),S("click",function(){return n.updateRemoteAccess()}),i(52,"label"),r(53,11),o()(),f(54,Dt,8,3),o()(),i(55,"section")(56,"div",42)(57,"h3"),r(58,12),o(),i(59,"p"),r(60,13),o()(),i(61,"div",43)(62,"spk-toggle",52),S("click",function(){return n.saveDisableTrayIconLogin()}),i(63,"label"),r(64,14),o()()()(),i(65,"section")(66,"div",42)(67,"h3"),r(68,15),o(),i(69,"p"),f(70,Xt,1,1),o(),f(71,Vt,1,0,"spk-progress-bar",53),o(),i(72,"div",54)(73,"div",55),S("click",function(){return n.setNewChannel("")}),i(74,"spk-radio",56),r(75,16),o(),i(76,"p"),r(77,17),o()(),i(78,"div",55),S("click",function(){return n.setNewChannel("stable")}),i(79,"spk-radio",56),r(80,18),o(),i(81,"p"),r(82,19),o()(),i(83,"div",55),S("click",function(){return n.setNewChannel("beta")}),i(84,"spk-radio",56),r(85,20),o(),i(86,"p"),r(87,21),o()(),i(88,"div",55),S("click",function(){return n.setNewChannel("experimental")}),i(89,"spk-radio",56),r(90,22),o(),i(91,"p"),r(92,23),o()(),i(93,"div",55),S("click",function(){return n.setNewChannel("canary")}),i(94,"spk-radio",56),r(95,24),o(),i(96,"p"),r(97,25),o()()()()(),O(98,"spk-divider"),i(99,"div",40)(100,"section")(101,"div",42)(102,"h3"),r(103,26),o(),i(104,"p"),r(105,27),o()(),i(106,"div",43)(107,"div",57)(108,"spk-range-slider",58),O(109,"input",59),o(),i(110,"spk-select",60)(111,"input",61),S("ngModelChange",function(d){return n.updateTimeType(d)}),o(),f(112,zt,1,1,"ng-template"),o()()()(),i(113,"section")(114,"div",42)(115,"h3"),r(116,28),o(),i(117,"p"),z(118,29),O(119,"a",62)(120,"br")(121,"br"),U(),o()(),i(122,"div",43)(123,"spk-select",63)(124,"input",50),S("ngModelChange",function(d){return n.updateUsageStatistics(d)}),o(),f(125,Ut,1,1,"ng-template"),o()()()(),i(126,"div",40)(127,"section")(128,"div",64)(129,"h3"),r(130,30),o(),O(131,"app-advanced-options-settings"),o()()()),t&2){let a,d,u;l(13),B(n.remoteControlStatus()),l(11),N("active",!n.isDarkMode()),l(),N("active",n.isDarkMode()),l(8),E(n.showPassphraseForm()?33:34),l(9),h("options",n.languageOptions())("isClearable",!1)("inlineSearch",!0),l(),h("ngModel",n.langCtrl())("ngModelOptions",H(42,le)),l(8),N("active",n.allowRemoteAccess()),l(3),E(n.allowRemoteAccess()?54:-1),l(8),N("active",n.disableTrayIconLogin()),l(8),E(n.updateChannel()!==""&&((a=n.sysinfo())!=null&&a.ServerVersion)?70:-1),l(),E(n.updatingChannel()?71:-1),l(3),N("active",n.updateChannel()===""),l(),se((d=n.sysinfo())==null?null:d.DefaultUpdateChannel),ae(75),l(2),se((u=n.sysinfo())==null?null:u.ServerVersionType),ae(77),l(2),N("active",n.updateChannel()==="stable"),l(5),N("active",n.updateChannel()==="beta"),l(5),N("active",n.updateChannel()==="experimental"),l(5),N("active",n.updateChannel()==="canary"),l(14),h("unit",n.timeType()),l(),h("min",n.timeRange()[0])("max",n.timeRange()[1])("ngModel",n.timeValue)("ngModelOptions",H(43,le)),l(),h("options",n.timeTypeOptions())("isClearable",!1),l(),h("ngModel",n.timeType()),l(12),h("options",n.usageStatisticsOptions())("isLoading",n.updatingUsageStatistics()),l(),h("ngModel",n.usageStatistics())("ngModelOptions",H(44,le))}},dependencies:[te,J,ct,Y,ee,ne,gt,oe,D,K,at,rt,st,_t,dt,Q,q,ot,j,lt],styles:["[_nghost-%COMP%]{display:block}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:0 2rem 2rem}header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:2rem 0;position:sticky;top:0;background:var(--base-level-10);z-index:1000;border-bottom:1px solid var(--base-level-40)}header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}section[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:2rem 0;border-top:1px solid var(--base-level-40)}section[_ngcontent-%COMP%]:first-of-type{border-top:0}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;align-items:flex-start}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] spk-button-group[_ngcontent-%COMP%]{margin-top:.25rem}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-wrap:balance;width:50%}.passphrase-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.passphrase-form[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.remote-access-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.themes[_ngcontent-%COMP%]{display:flex;gap:.5rem}.themes[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-width:240px;border-radius:var(--shape-3);cursor:pointer}.themes[_ngcontent-%COMP%] img.active[_ngcontent-%COMP%]{border:2px solid var(--primary-500)}.radios[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.radio-option[_ngcontent-%COMP%]{cursor:pointer}.radio-option[_ngcontent-%COMP%] spk-radio[_ngcontent-%COMP%]{color:var(--base-level-60);margin-bottom:.25rem}.radio-option[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-wrap:balance;color:var(--base-level-60R)}.field-col[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.field-row[_ngcontent-%COMP%]{display:flex;gap:.5rem;width:100%}.field-row[_ngcontent-%COMP%] spk-form-field[_ngcontent-%COMP%], .field-row[_ngcontent-%COMP%] spk-select[_ngcontent-%COMP%]{flex:1 0}.advanced-settings[_ngcontent-%COMP%]{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;gap:1rem}"],changeDetection:0})};export{Bt as debounceSignal,_e as default};
|