All Downloads are FREE. Search and download functionalities are using the official Maven repository.

static.chunk-K5IW5QWP.js Maven / Gradle / Ivy

There is a newer version: 5.10.9
Show newest version
import{a as Tt,c as Et,d as ti,e as ni}from"./chunk-AD76HIUY.js";import{$e as Xt,Aa as _,Ac as ht,Ba as A,Ca as V,Cb as Vt,Cc as N,Ce as Oe,D as R,Dc as De,De as Me,E as ve,Ea as S,Ec as vt,Ef as X,Eg as ne,Fa as v,Fe as Ae,Ff as je,Ga as c,Gb as ft,Gc as Ft,Hb as Se,Hc as it,Hf as qe,I as Ot,Ib as be,Ic as nt,If as Ge,Jb as gt,Jf as Ye,Kb as Le,L as b,Lc as ot,Of as He,Pa as w,Q as xe,Qa as r,R as x,Ra as E,Re as Gt,Rf as st,Rg as Ze,S as k,Sa as C,Se as Yt,Ta as ye,Tc as we,Te as Ht,Uc as xt,Uf as Ue,Va as Q,Ve as Ut,Wa as L,Wc as kt,We as Wt,Wf as $,Xa as Mt,Xc as yt,Ya as K,Yc as St,Ye as Kt,Yf as We,Z as B,Zc as bt,Ze as zt,_c as Ie,a as ge,ab as f,af as Jt,ag as Ke,bb as y,bg as ze,bh as j,cb as z,cf as Qt,cg as ee,df as Zt,ed as at,eg as Xe,f as J,fa as l,ga as h,gg as ie,hf as Ve,hg as Je,hh as T,if as Fe,ih as Lt,jf as Pe,jg as Qe,jh as ei,kh as ii,la as ke,lf as rt,m as he,mf as Ne,na as u,nf as Re,oe as Pt,pa as p,pc as Te,pe as Nt,qa as pt,qe as Rt,qf as Be,ra as H,rb as P,rc as Ee,re as Bt,rf as te,sc as Z,se as $t,te as jt,ua as d,uc as U,ue as qt,va as I,vc as tt,vf as lt,wa as O,wb as At,wc as W,xa as M,xb as Ct,xf as $e,ya as o,yc as F,za as a,zc as et}from"./chunk-7FNOC45H.js";var mi=()=>({exact:!0}),oi=e=>({c:e}),Dt=class e{constructor(i){this.yamcs=i}static{this.\u0275fac=function(t){return new(t||e)(h(j))}}static{this.\u0275cmp=b({type:e,selectors:[["app-links-page-tabs"]],standalone:!0,features:[L],decls:10,vars:12,consts:[["rla","routerLinkActive"],["rlb","routerLinkActive"],["tabPanel",""],["mat-tab-nav-bar","",1,"secondary",3,"mat-stretch-tabs","tabPanel"],["mat-tab-link","","routerLink","/links","routerLinkActive","",3,"routerLinkActiveOptions","active","queryParams"],["mat-tab-link","","routerLink","/links/log","routerLinkActive","",3,"active","queryParams"]],template:function(t,n){if(t&1&&(o(0,"nav",3)(1,"a",4,0),r(3," Links "),a(),o(4,"a",5,1),r(6," Action log "),a()(),o(7,"mat-tab-nav-panel",null,2),_(9,"router-outlet"),a()),t&2){let s=w(2),m=w(5),g=w(8);p("mat-stretch-tabs",!1)("tabPanel",g),l(),p("routerLinkActiveOptions",Mt(7,mi))("active",s.isActive)("queryParams",K(8,oi,n.yamcs.context)),l(3),p("active",m.isActive)("queryParams",K(10,oi,n.yamcs.context))}},dependencies:[T,Se,gt,Le,Ve,Pe,Fe],styles:[".mat-mdc-tab-link[_ngcontent-%COMP%]{height:36px;min-width:0;font-size:13px}"],changeDetection:0})}};function ui(e,i){if(e&1){let t=S();_(0,"ya-date-time-input",14)(1,"ya-date-time-input",15),o(2,"ya-button",16),v("click",function(){x(t);let s=c();return k(s.applyCustomDates())}),r(3,"Apply"),a()}if(e&2){let t=c();l(2),p("disabled",t.filterForm.invalid)}}function _i(e,i){if(e&1){let t=S();o(0,"ya-button",17),v("click",function(){x(t);let s=c();return k(s.jumpToNow())}),r(1,"Jump to now"),a()}}function Ci(e,i){e&1&&(o(0,"th",18),r(1,"Time"),a())}function fi(e,i){if(e&1&&(o(0,"td",19),r(1),f(2,"datetime"),a()),e&2){let t=i.$implicit;l(),E(y(2,1,t.time))}}function gi(e,i){e&1&&(o(0,"th",18),r(1,"User"),a())}function hi(e,i){if(e&1&&(o(0,"td",19),r(1),a()),e&2){let t=i.$implicit;l(),E(t.user||"-")}}function vi(e,i){e&1&&(o(0,"th",18),r(1,"Action"),a())}function xi(e,i){if(e&1&&(o(0,"td",19),_(1,"ya-action-log-summary",20),a()),e&2){let t=i.$implicit;l(),p("text",t.summary)}}function ki(e,i){e&1&&_(0,"th",21)}function yi(e,i){e&1&&_(0,"td",19)}function Si(e,i){e&1&&_(0,"tr",22)}function bi(e,i){e&1&&_(0,"tr",23)}var oe=class e{constructor(i,t,n,s,m){this.yamcs=i;this.messageService=t;this.router=n;this.route=s;this.interval=B();this.customStart=B();this.customStop=B();this.filterForm=new ht({interval:new N("NO_LIMIT"),customStart:new N(null),customStop:new N(null)});this.displayedColumns=["time","user","summary","actions"];this.intervalOptions=[{id:"PT1H",label:"Last hour"},{id:"PT6H",label:"Last 6 hours"},{id:"P1D",label:"Last 24 hours"},{id:"NO_LIMIT",label:"No limit"},{id:"CUSTOM",label:"Custom",group:!0}];this.dataSource=new Zt;m.setTitle("Links")}ngOnInit(){this.initializeOptions(),this.loadData(),this.filterForm.get("interval").valueChanges.forEach(i=>{if(i==="CUSTOM"){let t=new Date,n=this.validStart||t,s=this.validStop||t;this.filterForm.get("customStart").setValue(X.toISOString(n)),this.filterForm.get("customStop").setValue(X.toISOString(s))}else i==="NO_LIMIT"?(this.validStart=null,this.validStop=null,this.appliedInterval=i,this.loadData()):i&&(this.validStop=new Date,this.validStart=X.subtractDuration(this.validStop,i),this.appliedInterval=i,this.loadData())})}initializeOptions(){if(this.interval())if(this.appliedInterval=this.interval(),this.filterForm.get("interval").setValue(this.appliedInterval),this.appliedInterval==="CUSTOM"){let i=this.customStart();this.filterForm.get("customStart").setValue(i),this.validStart=X.toDate(i);let t=this.customStop();this.filterForm.get("customStop").setValue(t),this.validStop=X.toDate(t)}else this.appliedInterval==="NO_LIMIT"?(this.validStart=null,this.validStop=null):(this.validStop=new Date,this.validStart=X.subtractDuration(this.validStop,this.appliedInterval));else this.appliedInterval="NO_LIMIT",this.validStop=null,this.validStart=null}jumpToNow(){this.filterForm.get("interval").setValue("NO_LIMIT")}applyCustomDates(){let{controls:i}=this.filterForm;this.validStart=X.toDate(i.customStart.value),this.validStop=X.toDate(i.customStop.value),this.appliedInterval="CUSTOM",this.loadData()}loadData(){this.updateURL();let i={service:"LinksApi"};this.validStart&&(i.start=this.validStart.toISOString()),this.validStop&&(i.stop=this.validStop.toISOString()),this.yamcs.yamcsClient.getAuditRecords(this.yamcs.instance,i).then(t=>this.dataSource.data=t.records||[]).catch(t=>this.messageService.showError(t))}updateURL(){let{controls:i}=this.filterForm;this.router.navigate([],{replaceUrl:!0,relativeTo:this.route,queryParams:{interval:this.appliedInterval,customStart:this.appliedInterval==="CUSTOM"?i.customStart.value:null,customStop:this.appliedInterval==="CUSTOM"?i.customStop.value:null},queryParamsHandling:"merge"})}static{this.\u0275fac=function(t){return new(t||e)(h(j),h(rt),h(be),h(ft),h(Vt))}}static{this.\u0275cmp=b({type:e,selectors:[["app-links-action-log-tab"]],inputs:{interval:[1,"interval"],customStart:[1,"customStart"],customStop:[1,"customStop"]},standalone:!0,features:[L],decls:25,vars:7,consts:[[1,"panel-content"],[2,"margin-top","16px",3,"formGroup"],[1,"filter-bar"],["icon","access_time","formControlName","interval",3,"options"],["mat-table","",1,"ya-data-table","expand",3,"dataSource"],["matColumnDef","time"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","user"],["matColumnDef","summary"],["matColumnDef","actions"],["mat-header-cell","","class","expand",4,"matHeaderCellDef"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",4,"matRowDef","matRowDefColumns"],["formControlName","customStart"],["formControlName","customStop"],[3,"click","disabled"],[3,"click"],["mat-header-cell",""],["mat-cell",""],[3,"text"],["mat-header-cell","",1,"expand"],["mat-header-row",""],["mat-row",""]],template:function(t,n){t&1&&(o(0,"app-instance-page")(1,"app-instance-toolbar"),r(2,"Links"),a(),o(3,"div",0),_(4,"app-links-page-tabs"),o(5,"form",1)(6,"div",2),_(7,"ya-select",3),u(8,ui,4,1)(9,_i,2,0,"ya-button"),a()(),o(10,"table",4),A(11,5),u(12,Ci,2,0,"th",6)(13,fi,3,3,"td",7),V(),A(14,8),u(15,gi,2,0,"th",6)(16,hi,2,1,"td",7),V(),A(17,9),u(18,vi,2,0,"th",6)(19,xi,2,1,"td",7),V(),A(20,10),u(21,ki,1,0,"th",11)(22,yi,1,0,"td",7),V(),u(23,Si,1,0,"tr",12)(24,bi,1,0,"tr",13),a()()()),t&2&&(l(5),p("formGroup",n.filterForm),l(2),p("options",n.intervalOptions),l(),d(n.filterForm.value.interval==="CUSTOM"?8:-1),l(),d(n.filterForm.value.interval!=="CUSTOM"?9:-1),l(),p("dataSource",n.dataSource),l(13),p("matHeaderRowDef",n.displayedColumns),l(),p("matRowDefColumns",n.displayedColumns))},dependencies:[Et,Tt,Dt,T,vt,F,et,nt,ot,Gt,Ht,zt,Ut,Yt,Xt,Wt,Kt,Jt,Qt,Be,lt,qe,He,ne],encapsulation:2,changeDetection:0})}};function Li(e,i){if(e&1&&(_(0,"ya-led",0),f(1,"async")),e&2){let t=c();p("matTooltip",t.link.status)("color",y(1,3,t.okColor$))("fade",t.parentLink&&t.parentLink.status!=="OK")}}function Ti(e,i){if(e&1&&_(0,"ya-led",1),e&2){let t=c();p("matTooltip",t.link.status)("fade",t.parentLink&&t.parentLink.status!=="OK")}}function Ei(e,i){if(e&1&&_(0,"ya-led",1),e&2){let t=c();p("matTooltip",t.link.status)("fade",t.parentLink&&t.parentLink.status!=="OK")}}function Di(e,i){if(e&1&&_(0,"ya-led",2),e&2){let t=c();p("matTooltip",t.link.status)("fade",t.parentLink&&t.parentLink.status!=="OK")}}var wi=2e3,ct=class e{constructor(i){this.prevInCount=-1;this.prevOutCount=-1;this.active$=new J(!1);this.okColor$=this.active$.pipe(he(i=>i?Ke:ze));this.activeExpiration=-1;this.syncSubscription=i.syncFast(()=>{new Date().getTime()>=this.activeExpiration&&(this.active$.next(!1),this.activeExpiration=-1)})}ngOnChanges(){if(this.link.status==="OK"){let i=this.prevInCount!==-1&&this.prevInCount{};this.subscriptions=[];this.formGroup=new ht({enabled:new N(null)})}ngOnInit(){this.subscriptions.push(this.formGroup.valueChanges.subscribe(()=>{let i=this.formGroup.get("enabled").value;i==="true"?this.onChange(!0):i==="false"?this.onChange(!1):this.onChange(null)})),this.option().required&&this.validators.push(W.required)}writeValue(i){i===!0?this.formGroup.setValue({enabled:"true"}):i===!1&&this.formGroup.setValue({enabled:"false"})}registerOnChange(i){this.onChange=i}registerOnTouched(i){}validate(i){for(let t of this.validators){let n=t(i);if(n)return n}return null}ngOnDestroy(){this.subscriptions.forEach(i=>i.unsubscribe())}static{this.\u0275fac=function(t){return new(t||e)}}static{this.\u0275cmp=b({type:e,selectors:[["app-boolean-option"]],inputs:{option:[1,"option"]},standalone:!0,features:[Q([{provide:Z,useExisting:R(()=>e),multi:!0},{provide:tt,useExisting:R(()=>e),multi:!0}]),L],decls:1,vars:1,consts:[["err",""],[1,"label"],[1,"meta"],[1,"item"],[1,"hint"],[3,"controlName"],[3,"formGroup"],["type","radio","formControlName","enabled","value","true"],["type","radio","formControlName","enabled","value","false"]],template:function(t,n){if(t&1&&u(0,Ai,16,9,"div",1),t&2){let s;d((s=n.option())?0:-1,s)}},dependencies:[T,P,U,Ft,F,et,nt,ot,st,$],styles:[".meta[_ngcontent-%COMP%]{position:absolute;top:0;right:0;display:flex}.meta[_ngcontent-%COMP%]   .item[_ngcontent-%COMP%]{flex:none;background-color:#eee;font-weight:400;font-family:Roboto Mono,monospace;color:#000000a7;padding-left:2px;padding-right:2px;margin-left:10px}.meta.error[_ngcontent-%COMP%]   .item[_ngcontent-%COMP%]{background-color:var(--y-error-color);color:#fff}.members[_ngcontent-%COMP%], .entries[_ngcontent-%COMP%]{margin-top:5px;padding-top:5px;padding-left:10px;border-left:1px solid rgba(0,0,0,.1)}.meta[_ngcontent-%COMP%]   .item.menu[_ngcontent-%COMP%]:hover{background-color:#5787b1;color:#fff;cursor:pointer}",".ng-invalid[_nghost-%COMP%]:not(.ng-pristine)     input{border-color:var(--y-error-color)!important}.label[_ngcontent-%COMP%]{position:relative}"],changeDetection:0})}};function Vi(e,i){e&1&&(o(0,"span",4),r(1,"(optional)"),a())}function Fi(e,i){e&1&&(o(0,"ya-help"),r(1),a()),e&2&&(l(),C(" ",i," "))}function Pi(e,i){if(e&1&&(o(0,"div",1)(1,"div",2),f(2,"async"),o(3,"div",3),r(4,"float"),a()(),r(5),u(6,Vi,2,0,"span",4)(7,Fi,2,1,"ya-help"),_(8,"ya-errors",5,0)(10,"input",6),a()),e&2){let t,n=i,s=w(9),m=c();l(),H("error",y(2,7,s.invalid$)),l(4),C(" ",n.name," "),l(),d(n.required?-1:6),l(),d((t=n.description)?7:-1,t),l(),p("controlName",n.name),l(2),p("formControl",m.formControl)}}var re=class e{constructor(){this.option=B.required();this.formControl=new N(null);this.validators=[];this.onChange=i=>{};this.subscriptions=[]}ngOnInit(){this.subscriptions.push(this.formControl.valueChanges.subscribe(i=>{i===null||i===""?this.onChange(null):this.onChange(i)})),this.option().required&&this.validators.push(W.required),this.validators.push(te.requireFloat)}writeValue(i){this.formControl.setValue(i)}registerOnChange(i){this.onChange=i}registerOnTouched(i){}validate(i){for(let t of this.validators){let n=t(i);if(n)return n}return null}ngOnDestroy(){this.subscriptions.forEach(i=>i.unsubscribe())}static{this.\u0275fac=function(t){return new(t||e)}}static{this.\u0275cmp=b({type:e,selectors:[["app-float-option"]],inputs:{option:[1,"option"]},standalone:!0,features:[Q([{provide:Z,useExisting:R(()=>e),multi:!0},{provide:tt,useExisting:R(()=>e),multi:!0}]),L],decls:1,vars:1,consts:[["err",""],[1,"label"],[1,"meta"],[1,"item"],[1,"hint"],[3,"controlName"],["type","text","autocomplete","off",3,"formControl"]],template:function(t,n){if(t&1&&u(0,Pi,11,9,"div",1),t&2){let s;d((s=n.option())?0:-1,s)}},dependencies:[T,P,U,F,it,st,$],styles:[".meta[_ngcontent-%COMP%]{position:absolute;top:0;right:0;display:flex}.meta[_ngcontent-%COMP%]   .item[_ngcontent-%COMP%]{flex:none;background-color:#eee;font-weight:400;font-family:Roboto Mono,monospace;color:#000000a7;padding-left:2px;padding-right:2px;margin-left:10px}.meta.error[_ngcontent-%COMP%]   .item[_ngcontent-%COMP%]{background-color:var(--y-error-color);color:#fff}.members[_ngcontent-%COMP%], .entries[_ngcontent-%COMP%]{margin-top:5px;padding-top:5px;padding-left:10px;border-left:1px solid rgba(0,0,0,.1)}.meta[_ngcontent-%COMP%]   .item.menu[_ngcontent-%COMP%]:hover{background-color:#5787b1;color:#fff;cursor:pointer}",".ng-invalid[_nghost-%COMP%]:not(.ng-pristine)     input{border-color:var(--y-error-color)!important}.label[_ngcontent-%COMP%]{position:relative}"],changeDetection:0})}};function Ni(e,i){e&1&&(o(0,"span",4),r(1,"(optional)"),a())}function Ri(e,i){e&1&&(o(0,"ya-help"),r(1),a()),e&2&&(l(),C(" ",i," "))}function Bi(e,i){if(e&1&&(o(0,"div",1)(1,"div",2),f(2,"async"),o(3,"div",3),r(4,"integer"),a()(),r(5),u(6,Ni,2,0,"span",4)(7,Ri,2,1,"ya-help"),_(8,"ya-errors",5,0)(10,"input",6),a()),e&2){let t,n=i,s=w(9),m=c();l(),H("error",y(2,7,s.invalid$)),l(4),C(" ",n.name," "),l(),d(n.required?-1:6),l(),d((t=n.description)?7:-1,t),l(),p("controlName",n.name),l(2),p("formControl",m.formControl)}}var le=class e{constructor(){this.option=B.required();this.formControl=new N(null);this.validators=[];this.onChange=i=>{};this.subscriptions=[]}ngOnInit(){this.subscriptions.push(this.formControl.valueChanges.subscribe(i=>{i===null||i===""?this.onChange(null):this.onChange(i)})),this.option().required&&this.validators.push(W.required),this.validators.push(te.requireInteger)}writeValue(i){this.formControl.setValue(i)}registerOnChange(i){this.onChange=i}registerOnTouched(i){}validate(i){for(let t of this.validators){let n=t(i);if(n)return n}return null}ngOnDestroy(){this.subscriptions.forEach(i=>i.unsubscribe())}static{this.\u0275fac=function(t){return new(t||e)}}static{this.\u0275cmp=b({type:e,selectors:[["app-integer-option"]],inputs:{option:[1,"option"]},standalone:!0,features:[Q([{provide:Z,useExisting:R(()=>e),multi:!0},{provide:tt,useExisting:R(()=>e),multi:!0}]),L],decls:1,vars:1,consts:[["err",""],[1,"label"],[1,"meta"],[1,"item"],[1,"hint"],[3,"controlName"],["type","text","autocomplete","off",3,"formControl"]],template:function(t,n){if(t&1&&u(0,Bi,11,9,"div",1),t&2){let s;d((s=n.option())?0:-1,s)}},dependencies:[T,P,U,F,it,st,$],styles:[".meta[_ngcontent-%COMP%]{position:absolute;top:0;right:0;display:flex}.meta[_ngcontent-%COMP%]   .item[_ngcontent-%COMP%]{flex:none;background-color:#eee;font-weight:400;font-family:Roboto Mono,monospace;color:#000000a7;padding-left:2px;padding-right:2px;margin-left:10px}.meta.error[_ngcontent-%COMP%]   .item[_ngcontent-%COMP%]{background-color:var(--y-error-color);color:#fff}.members[_ngcontent-%COMP%], .entries[_ngcontent-%COMP%]{margin-top:5px;padding-top:5px;padding-left:10px;border-left:1px solid rgba(0,0,0,.1)}.meta[_ngcontent-%COMP%]   .item.menu[_ngcontent-%COMP%]:hover{background-color:#5787b1;color:#fff;cursor:pointer}",".ng-invalid[_nghost-%COMP%]:not(.ng-pristine)     input{border-color:var(--y-error-color)!important}.label[_ngcontent-%COMP%]{position:relative}"],changeDetection:0})}};function $i(e,i){e&1&&(o(0,"span",4),r(1,"(optional)"),a())}function ji(e,i){e&1&&(o(0,"ya-help"),r(1),a()),e&2&&(l(),C(" ",i," "))}function qi(e,i){if(e&1&&(o(0,"div",1)(1,"div",2),f(2,"async"),o(3,"div",3),r(4,"string"),a()(),r(5),u(6,$i,2,0,"span",4)(7,ji,2,1,"ya-help"),_(8,"ya-errors",5,0)(10,"input",6),a()),e&2){let t,n=i,s=w(9),m=c();l(),H("error",y(2,7,s.invalid$)),l(4),C(" ",n.name," "),l(),d(n.required?-1:6),l(),d((t=n.description)?7:-1,t),l(),p("controlName",n.name),l(2),p("formControl",m.formControl)}}var se=class e{constructor(){this.option=B.required();this.formControl=new N(null);this.validators=[];this.onChange=i=>{};this.subscriptions=[]}ngOnInit(){this.subscriptions.push(this.formControl.valueChanges.subscribe(()=>{let i=this.formControl.value;this.onChange(i)})),this.option().required&&this.validators.push(W.required)}writeValue(i){this.formControl.setValue(i)}registerOnChange(i){this.onChange=i}registerOnTouched(i){}validate(i){for(let t of this.validators){let n=t(i);if(n)return n}return null}ngOnDestroy(){this.subscriptions.forEach(i=>i.unsubscribe())}static{this.\u0275fac=function(t){return new(t||e)}}static{this.\u0275cmp=b({type:e,selectors:[["app-string-option"]],inputs:{option:[1,"option"]},standalone:!0,features:[Q([{provide:Z,useExisting:R(()=>e),multi:!0},{provide:tt,useExisting:R(()=>e),multi:!0}]),L],decls:1,vars:1,consts:[["err",""],[1,"label"],[1,"meta"],[1,"item"],[1,"hint"],[3,"controlName"],["type","text","autocomplete","off",3,"formControl"]],template:function(t,n){if(t&1&&u(0,qi,11,9,"div",1),t&2){let s;d((s=n.option())?0:-1,s)}},dependencies:[T,P,U,F,it,st,$],styles:[".meta[_ngcontent-%COMP%]{position:absolute;top:0;right:0;display:flex}.meta[_ngcontent-%COMP%]   .item[_ngcontent-%COMP%]{flex:none;background-color:#eee;font-weight:400;font-family:Roboto Mono,monospace;color:#000000a7;padding-left:2px;padding-right:2px;margin-left:10px}.meta.error[_ngcontent-%COMP%]   .item[_ngcontent-%COMP%]{background-color:var(--y-error-color);color:#fff}.members[_ngcontent-%COMP%], .entries[_ngcontent-%COMP%]{margin-top:5px;padding-top:5px;padding-left:10px;border-left:1px solid rgba(0,0,0,.1)}.meta[_ngcontent-%COMP%]   .item.menu[_ngcontent-%COMP%]:hover{background-color:#5787b1;color:#fff;cursor:pointer}",".ng-invalid[_nghost-%COMP%]:not(.ng-pristine)     input{border-color:var(--y-error-color)!important}.label[_ngcontent-%COMP%]{position:relative}"],changeDetection:0})}};function Gi(e,i){e&1&&_(0,"hr",5)}function Yi(e,i){if(e&1&&_(0,"app-boolean-option",6),e&2){let t=c().$implicit;p("formControlName",t.name)("option",t)}}function Hi(e,i){if(e&1&&_(0,"app-float-option",6),e&2){let t=c().$implicit;p("formControlName",t.name)("option",t)}}function Ui(e,i){if(e&1&&_(0,"app-integer-option",6),e&2){let t=c().$implicit;p("formControlName",t.name)("option",t)}}function Wi(e,i){if(e&1&&_(0,"app-string-option",6),e&2){let t=c().$implicit;p("formControlName",t.name)("option",t)}}function Ki(e,i){if(e&1&&u(0,Gi,1,0,"hr",5)(1,Yi,1,2,"app-boolean-option",6)(2,Hi,1,2,"app-float-option",6)(3,Ui,1,2,"app-integer-option",6)(4,Wi,1,2,"app-string-option",6),e&2){let t,n=i.$implicit,s=i.$index;d(s!==0?0:-1),l(),d((t=n.type)==="BOOLEAN"?1:t==="FLOAT"?2:t==="INTEGER"?3:t==="STRING"?4:-1)}}var ce=class e{constructor(i,t){this.dialogRef=i;this.data=t;this.form=new ht({});for(let n of this.options){let s=new N(n.default??null);this.form.addControl(n.name,s)}}get options(){return this.data.action.spec?.options||[]}sendRequest(){let i=this.form.value;this.dialogRef.close(i)}static{this.\u0275fac=function(t){return new(t||e)(h(Pt),h(Nt))}}static{this.\u0275cmp=b({type:e,selectors:[["ng-component"]],standalone:!0,features:[L],decls:11,vars:3,consts:[["mat-dialog-title",""],[1,"ya-form",3,"formGroup"],["align","end"],["mat-dialog-close",""],["appearance","primary",3,"click","disabled"],[1,"half-break"],[3,"formControlName","option"]],template:function(t,n){t&1&&(o(0,"h2",0),r(1),a(),o(2,"mat-dialog-content")(3,"form",1),O(4,Ki,5,2,null,null,I),a()(),o(6,"mat-dialog-actions",2)(7,"ya-button",3),r(8,"CANCEL"),a(),o(9,"ya-button",4),v("click",function(){return n.sendRequest()}),r(10," SUBMIT "),a()()),t&2&&(l(),E(n.data.action.label),l(2),p("formGroup",n.form),l(),M(n.options),l(5),p("disabled",!n.form.valid))},dependencies:[ae,re,le,T,vt,F,et,nt,ot,Bt,$t,qt,jt,lt,se],encapsulation:2,changeDetection:0})}};var mt=class e{constructor(){this.dialog=Ot(Rt);this.yamcs=Ot(j);this.messageService=Ot(rt);this.snackBar=Ot(Ee)}runAction(i,t){t.spec?this.dialog.open(ce,{data:{action:t},width:"600px"}).afterClosed().subscribe(n=>{n&&this.submitRequest(i,t,n)}):this.submitRequest(i,t)}submitRequest(i,t,n){this.snackBar.open(`Running '${t.label}' ...`,void 0,{horizontalPosition:"end"}),this.yamcs.yamcsClient.runLinkAction(this.yamcs.instance,i,t.id,n).then(()=>{this.snackBar.open(`'${t.label}' successful`,void 0,{duration:3e3,horizontalPosition:"end"})}).catch(s=>{this.messageService.showError(s),this.snackBar.open(`'${t.label}' failed`,void 0,{duration:3e3,horizontalPosition:"end"})})}static{this.\u0275fac=function(t){return new(t||e)}}static{this.\u0275prov=ve({token:e,factory:e.\u0275fac,providedIn:"root"})}};function zi(e,i){if(e&1&&(r(0),_(1,"br")),e&2){let t=i.$implicit;C(" ",t||"-"," ")}}function Xi(e,i){if(e&1&&O(0,zi,2,1,"br",null,I),e&2){let t=c();M(t)}}function Ji(e,i){e&1&&r(0," - ")}function Qi(e,i){if(e&1&&u(0,Xi,2,0)(1,Ji,1,0),e&2){let t=i;d(t.length?0:-1),l(),d(t.length?-1:1)}}function Zi(e,i){if(e&1&&(o(0,"div",1),r(1),a(),o(2,"div",2),u(3,Qi,2,2),a()),e&2){let t,n=i.$implicit,s=c(2);l(),E(n.key),l(2),d((t=s.getEntriesForValue(n.value))?3:-1,t)}}function tn(e,i){if(e&1&&(_(0,"br")(1,"mat-divider"),O(2,Zi,4,2,null,null,I),f(4,"keyvalue")),e&2){let t=c();l(2),M(y(4,0,t.link.extra))}}function en(e,i){if(e&1){let t=S();o(0,"ya-button",8),v("click",function(){x(t);let s=c(2);return k(s.enableLink())}),r(1,"Enable link"),a()}}function nn(e,i){if(e&1){let t=S();o(0,"ya-button",8),v("click",function(){x(t);let s=c(2);return k(s.disableLink())}),r(1,"Disable link"),a()}}function on(e,i){if(e&1&&(o(0,"mat-icon"),r(1," check "),a()),e&2){let t=c().$implicit;pt("visibility",t.checked?"visible":"hidden")}}function an(e,i){e&1&&r(0," ... ")}function rn(e,i){if(e&1){let t=S();o(0,"button",11),v("click",function(){let s=x(t).$implicit,m=c(4);return k(m.runAction(s))}),u(1,on,2,2,"mat-icon",12),r(2),u(3,an,1,0),a()}if(e&2){let t=i.$implicit;p("disabled",!t.enabled),l(),d(t.style==="CHECK_BOX"?1:-1),l(),C(" ",t.label," "),l(),d(t.spec?3:-1)}}function ln(e,i){if(e&1&&(_(0,"mat-divider"),O(1,rn,4,4,"button",10,I)),e&2){let t=c(3);l(),M(t.link.actions)}}function sn(e,i){if(e&1){let t=S();o(0,"button",9),v("click",function(){x(t);let s=c(2);return k(s.resetCounters())}),r(1,"Reset counters"),a(),u(2,ln,3,0)}if(e&2){let t=c(2);l(2),d(t.link.actions?2:-1)}}function cn(e,i){if(e&1&&(o(0,"div",4),u(1,en,2,0,"ya-button")(2,nn,2,0,"ya-button"),o(3,"ya-button",5),r(4,"More"),a(),o(5,"mat-menu",6,0),u(7,sn,3,1,"ng-template",7),a()()),e&2){let t=w(6),n=c();l(),d(n.link.status==="DISABLED"?1:-1),l(),d(n.link.status!=="DISABLED"?2:-1),l(),p("matMenuTriggerFor",t),l(2),p("overlapTrigger",!1)}}var me=class e{constructor(i,t,n,s){this.authService=i;this.yamcs=t;this.messageService=n;this.linkService=s}mayControlLinks(){return this.authService.getUser().hasSystemPrivilege("ControlLinks")}enableLink(){this.yamcs.yamcsClient.enableLink(this.link.instance,this.link.name).catch(i=>this.messageService.showError(i))}disableLink(){this.yamcs.yamcsClient.disableLink(this.link.instance,this.link.name).catch(i=>this.messageService.showError(i))}resetCounters(){this.yamcs.yamcsClient.resetLinkCounters(this.link.instance,this.link.name).catch(i=>this.messageService.showError(i))}runAction(i){this.linkService.runAction(this.link.name,i)}getEntriesForValue(i){if(i==null)return[];let t=[];if(Array.isArray(i))for(let n=0;n["/links",e],pn=e=>({c:e}),dn=()=>[];function un(e,i){if(e&1){let t=S();o(0,"ya-page-button",39),v("clicked",function(){x(t);let s=c();return k(s.enableSelectedLinks())}),r(1," Enable "),a()}if(e&2){let t=c();p("disabled",!t.allowGroupEnable())}}function _n(e,i){if(e&1){let t=S();o(0,"ya-page-button",40),v("clicked",function(){x(t);let s=c();return k(s.disableSelectedLinks())}),r(1," Disable "),a()}if(e&2){let t=c();p("disabled",!t.allowGroupDisable())}}function Cn(e,i){if(e&1&&(o(0,"ya-page-button",4),r(1," More "),a()),e&2){let t=c(),n=w(7);p("disabled",t.selection.isEmpty())("matMenuTriggerFor",n)}}function fn(e,i){if(e&1&&(o(0,"mat-icon"),r(1," check "),a()),e&2){let t=c().$implicit;pt("visibility",t.checked?"visible":"hidden")}}function gn(e,i){e&1&&r(0," ... ")}function hn(e,i){if(e&1){let t=S();o(0,"button",43),v("click",function(){let s=x(t).$implicit,m=c(2),g=c(2);return k(g.runAction(m.link.name,s))}),u(1,fn,2,2,"mat-icon",44),r(2),u(3,gn,1,0),a()}if(e&2){let t=i.$implicit;p("disabled",!t.enabled),l(),d(t.style==="CHECK_BOX"?1:-1),l(),C(" ",t.label," "),l(),d(t.spec?3:-1)}}function vn(e,i){if(e&1&&(_(0,"mat-divider"),O(1,hn,4,4,"button",42,I)),e&2){let t=c();l(),M(t.link.actions)}}function xn(e,i){e&1&&u(0,vn,3,0),e&2&&d(i.link.actions?0:-1)}function kn(e,i){if(e&1){let t=S();o(0,"button",41),v("click",function(){x(t);let s=c();return k(s.resetCountersForSelectedLinks())}),r(1,"Reset counters"),a(),u(2,xn,1,1),f(3,"async")}if(e&2){let t,n=c();l(2),d((t=y(3,1,n.detailLink$))?2:-1,t)}}function yn(e,i){e&1&&(o(0,"ya-detail-toolbar"),r(1,"Link detail"),a(),o(2,"div",45),_(3,"app-link-detail",46),a()),e&2&&(l(3),p("link",i.link))}function Sn(e,i){if(e&1&&(o(0,"div",45),r(1),a()),e&2){let t=c(2);l(),C("",t.selection.selected.length," links selected")}}function bn(e,i){if(e&1&&(o(0,"ya-detail-toolbar"),r(1,"Select a link"),a(),u(2,Sn,2,1,"div",45)),e&2){let t=c();l(2),d(t.selection.hasValue()?2:-1)}}function Ln(e,i){if(e&1){let t=S();o(0,"th",47)(1,"input",48),v("change",function(s){x(t);let m=c();return k(s?m.masterToggle():null)}),a()()}if(e&2){let t=c();l(),p("checked",t.selection.hasValue()&&t.isAllSelected())}}function Tn(e,i){if(e&1){let t=S();o(0,"td",49)(1,"input",50),v("click",function(s){return x(t),k(s.stopPropagation())})("change",function(s){let m=x(t).$implicit,g=c();return k(s?g.selection.toggle(m):null)}),a()()}if(e&2){let t=i.$implicit,n=c();l(),p("checked",n.selection.isSelected(t))}}function En(e,i){e&1&&(o(0,"th",51),r(1,"Name"),a())}function Dn(e,i){if(e&1&&(o(0,"div",53),_(1,"app-link-status",57),a()),e&2){let t=c().$implicit;l(),p("link",t.link)("parentLink",t.parentLink)}}function wn(e,i){if(e&1){let t=S();o(0,"ya-icon-action",58),v("click",function(s){x(t);let m=c().$implicit,g=c();return k(g.expandItem(s,m))}),a()}if(e&2){let t=c().$implicit;p("icon",t.expanded?"expand_more":"chevron_right")}}function In(e,i){if(e&1&&(o(0,"td",52),u(1,Dn,2,2,"div",53),o(2,"a",54),_(3,"ya-highlight",55),a(),u(4,wn,1,1,"ya-icon-action",56),a()),e&2){let t=i.$implicit,n=c();l(),d(t.link.parentName?1:-1),l(),p("routerLink",K(6,mn,t.link.name))("queryParams",K(8,pn,n.yamcs.context)),l(),p("text",t.link.name)("term",n.filterControl.value),l(),d(t.hasChildren?4:-1)}}function On(e,i){e&1&&(o(0,"th",51),r(1,"Class"),a())}function Mn(e,i){if(e&1&&(o(0,"td",59),_(1,"ya-highlight",55),a()),e&2){let t=i.$implicit,n=c();l(),p("text",t.link.type)("term",n.filterControl.value)}}function An(e,i){e&1&&_(0,"th",60)}function Vn(e,i){if(e&1&&_(0,"app-link-status",46),e&2){let t=c().$implicit;p("link",t.link)}}function Fn(e,i){if(e&1&&(o(0,"td",61),u(1,Vn,1,1,"app-link-status",46),a()),e&2){let t=i.$implicit;l(),d(t.link.parentName?-1:1)}}function Pn(e,i){e&1&&(o(0,"th",51),r(1,"Detail"),a())}function Nn(e,i){if(e&1&&(o(0,"td",59),r(1),a()),e&2){let t=i.$implicit;l(),C(" ",t.link.detailedStatus||"-"," ")}}function Rn(e,i){e&1&&(o(0,"th",62),r(1,"In"),a())}function Bn(e,i){if(e&1&&(o(0,"td",63),r(1),f(2,"number"),a()),e&2){let t=i.$implicit;l(),C(" ",y(2,1,t.link.dataInCount)," ")}}function $n(e,i){e&1&&(o(0,"th",62),r(1,"Out"),a())}function jn(e,i){if(e&1&&(o(0,"td",63),r(1),f(2,"number"),a()),e&2){let t=i.$implicit;l(),C(" ",y(2,1,t.link.dataOutCount)," ")}}function qn(e,i){e&1&&_(0,"th",64)}function Gn(e,i){if(e&1&&(o(0,"mat-icon"),r(1," check "),a()),e&2){let t=c().$implicit;pt("visibility",t.checked?"visible":"hidden")}}function Yn(e,i){e&1&&r(0," ... ")}function Hn(e,i){if(e&1){let t=S();o(0,"button",43),v("click",function(){let s=x(t).$implicit,m=c(3).$implicit,g=c();return k(g.runAction(m.link.name,s))}),u(1,Gn,2,2,"mat-icon",44),r(2),u(3,Yn,1,0),a()}if(e&2){let t=i.$implicit;p("disabled",!t.enabled),l(),d(t.style==="CHECK_BOX"?1:-1),l(),C(" ",t.label," "),l(),d(t.spec?3:-1)}}function Un(e,i){if(e&1&&(_(0,"mat-divider"),O(1,Hn,4,4,"button",42,I)),e&2){let t=c(2).$implicit;l(),M(t.link.actions||Mt(0,dn))}}function Wn(e,i){if(e&1){let t=S();o(0,"ya-more")(1,"button",43),v("click",function(){x(t);let s=c().$implicit,m=c();return k(m.enableLink(s.link.name))}),r(2," Enable link "),a(),o(3,"button",43),v("click",function(){x(t);let s=c().$implicit,m=c();return k(m.disableLink(s.link.name))}),r(4," Disable link "),a(),_(5,"mat-divider"),o(6,"button",41),v("click",function(){x(t);let s=c().$implicit,m=c();return k(m.resetCounters(s.link.name))}),r(7,"Reset counters"),a(),u(8,Un,3,1),a()}if(e&2){let t=c().$implicit;l(),p("disabled",t.link.status!=="DISABLED"),l(2),p("disabled",t.link.status==="DISABLED"),l(5),d(t.link.actions?8:-1)}}function Kn(e,i){if(e&1&&(o(0,"td",59),u(1,Wn,9,3,"ya-more"),a()),e&2){let t=c();l(),d(t.mayControlLinks()?1:-1)}}function zn(e,i){e&1&&_(0,"tr",65)}function Xn(e,i){if(e&1){let t=S();o(0,"tr",66),v("click",function(){let s=x(t).$implicit,m=c();return k(m.toggleOne(s))}),a()}if(e&2){let t=i.$implicit,n=c();H("selected",n.selection.isSelected(t))("disabled",t.link.status==="DISABLED")}}var pe=class e extends Re{constructor(t,n,s,m){super();this.yamcs=t;this.authService=n;this.route=s;this.linkService=m;this.filterControl=new De;this.detailLink$=new J(null);this.columns=[{id:"select",label:"",alwaysVisible:!0},{id:"status",label:"",alwaysVisible:!0},{id:"name",label:"Name",alwaysVisible:!0},{id:"className",label:"Class name"},{id:"in",label:"In count",visible:!0},{id:"out",label:"Out count",visible:!0},{id:"detailedStatus",label:"Detail",visible:!0},{id:"actions",label:"",alwaysVisible:!0}];this.dataSource=new Zt;this.selection=new Te(!0,[]);this.itemsByName={};this.tableTrackerFn=(t,n)=>n.link.name;this.setTitle("Links"),this.dataSource.filterPredicate=(g,D)=>g.link.name.toLowerCase().indexOf(D)>=0||g.link.type.toLowerCase().indexOf(D)>=0,this.selectionSubscription=this.selection.changed.subscribe(()=>{let g=this.selection.selected;g.length===1?this.detailLink$.next(g[0]):this.detailLink$.next(null)})}ngAfterViewInit(){let t=this.route.snapshot.queryParamMap;t.has("filter")&&(this.filterControl.setValue(t.get("filter")),this.dataSource.filter=t.get("filter").toLowerCase()),this.filterControl.valueChanges.subscribe(()=>{this.updateURL();let n=this.filterControl.value||"";this.dataSource.filter=n.toLowerCase();for(let s of this.selection.selected)this.dataSource.filteredData.indexOf(s)===-1&&this.selection.deselect(s)}),this.yamcs.yamcsClient.getLinks(this.yamcs.instance).then(n=>{for(let s of n){let m={link:s,hasChildren:!1,expanded:!1};this.itemsByName[s.name]=m}for(let s of n)if(s.parentName){let m=this.itemsByName[s.parentName];m.hasChildren=!0,this.itemsByName[s.name].parentLink=m.link}this.updateDataSource(),this.linkSubscription=this.yamcs.yamcsClient.createLinkSubscription({instance:this.yamcs.instance},s=>{this.processLinkEvent(s)})})}expandItem(t,n){if(n.expanded=!n.expanded,!n.expanded)for(let s of this.selection.selected)s.parentLink&&s.parentLink.name===n.link.name&&this.selection.deselect(s);this.updateDataSource(),t.stopPropagation()}enableLink(t){this.yamcs.yamcsClient.enableLink(this.yamcs.instance,t).catch(n=>this.messageService.showError(n))}disableLink(t){this.yamcs.yamcsClient.disableLink(this.yamcs.instance,t).catch(n=>this.messageService.showError(n))}resetCounters(t){this.yamcs.yamcsClient.resetLinkCounters(this.yamcs.instance,t).catch(n=>this.messageService.showError(n))}runAction(t,n){this.linkService.runAction(t,n)}mayControlLinks(){return this.authService.getUser().hasSystemPrivilege("ControlLinks")}processLinkEvent(t){let n=[];for(let m of t.links||[]){n.push(m.name);let g=this.detailLink$.value;if(g&&g.link.name===m.name){g.link=m;for(let D of Object.values(this.itemsByName))D.link.parentName===m.name&&(D.parentLink=m);this.detailLink$.next(ge({},g))}if(m.name in this.itemsByName)this.itemsByName[m.name].link=m;else{let D={link:m,hasChildren:!1,expanded:!1};this.itemsByName[m.name]=D}for(let D of Object.values(this.itemsByName))D.parentLink&&D.parentLink.name===m.name&&(D.parentLink=m),m.parentName&&m.parentName===D.link.name&&(D.hasChildren=!0)}let s=[];for(let m in this.itemsByName)if(n.indexOf(m)===-1){let g=this.itemsByName[m];this.selection.deselect(g),s.push(m)}for(let m of s)delete this.itemsByName[m];this.updateDataSource(),this.changeDetection.detectChanges()}updateDataSource(){let t=Object.values(this.itemsByName).filter(n=>{let s=n.link.parentName;return s?this.itemsByName[s].expanded:!0});t.sort((n,s)=>{let m=n.link.name.split("."),g=s.link.name.split(".");for(let D=0;D0}masterToggle(){this.isAllSelected()?this.selection.clear():this.dataSource.filteredData.forEach(t=>this.selection.select(t))}toggleOne(t){(!this.selection.isSelected(t)||this.selection.selected.length>1)&&this.selection.clear(),this.selection.toggle(t),this.openDetailPane()}enableSelectedLinks(){for(let t of this.selection.selected)this.enableLink(t.link.name)}disableSelectedLinks(){for(let t of this.selection.selected)this.disableLink(t.link.name)}resetCountersForSelectedLinks(){for(let t of this.selection.selected)this.resetCounters(t.link.name)}updateURL(){let t=this.filterControl.value;this.router.navigate([],{replaceUrl:!0,relativeTo:this.route,queryParams:{filter:t||null},queryParamsHandling:"merge"})}selectNext(){let t=this.dataSource.filteredData,n=0;if(this.selection.hasValue()){let s=this.selection.selected[this.selection.selected.length-1];t.indexOf(s)!==-1&&(n=Math.min(t.indexOf(s)+1,t.length-1))}this.selection.clear(),this.selection.select(t[n])}selectPrevious(){let t=this.dataSource.filteredData,n=0;if(this.selection.hasValue()){let s=this.selection.selected[0];t.indexOf(s)!==-1&&(n=Math.max(t.indexOf(s)-1,0))}this.selection.clear(),this.selection.select(t[n])}applySelection(){if(this.selection.hasValue()&&this.selection.selected.length===1){let t=this.selection.selected[0];this.router.navigate(["/links",t.link.name],{queryParams:{c:this.yamcs.context}})}}ngOnDestroy(){this.selectionSubscription?.unsubscribe(),this.linkSubscription?.cancel()}static{this.\u0275fac=function(n){return new(n||e)(h(j),h(Lt),h(ft),h(mt))}}static{this.\u0275cmp=b({type:e,selectors:[["ng-component"]],standalone:!0,features:[ke,L],decls:62,vars:21,consts:[["moreActions",""],["columnChooser",""],["icon","link",3,"disabled"],["icon","link_off",3,"disabled"],["dropdown","true",3,"disabled","matMenuTriggerFor"],["yPosition","below",1,"ya-menu",3,"overlapTrigger"],["matMenuContent",""],[1,"table-wrapper"],[1,"panel-content"],[1,"filter-bar",2,"margin-top","16px"],["placeholder","Filter links",3,"onArrowDown","onArrowUp","onEnter","formControl"],["preferenceKey","links",3,"columns"],["mat-table","",1,"ya-data-table","expand",3,"dataSource","trackBy"],["cdkColumnDef","select"],["mat-header-cell","","class","checkbox",4,"cdkHeaderCellDef"],["mat-cell","","class","checkbox",4,"cdkCellDef"],["matColumnDef","name"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","","style","white-space: nowrap",4,"matCellDef"],["matColumnDef","className"],["mat-cell","",4,"matCellDef"],["matColumnDef","status"],["mat-header-cell","","class","status",4,"matHeaderCellDef"],["mat-cell","","class","status","style","line-height: 0",4,"matCellDef"],["matColumnDef","detailedStatus"],["matColumnDef","in"],["mat-header-cell","","style","text-align: center",4,"matHeaderCellDef"],["mat-cell","","style","text-align: center",4,"matCellDef"],["matColumnDef","out"],["matColumnDef","actions"],["mat-header-cell","","class","expand",4,"matHeaderCellDef"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",3,"selected","disabled","click",4,"matRowDef","matRowDefColumns"],[1,"legend"],[1,"legend-item"],["color","rgba(0, 100, 0)",3,"fade"],["color","rgba(0, 255, 0)",3,"fade"],["color","red",3,"fade"],["color","#aaa",3,"fade"],["icon","link",3,"clicked","disabled"],["icon","link_off",3,"clicked","disabled"],["mat-menu-item","",3,"click"],["mat-menu-item","",3,"disabled"],["mat-menu-item","",3,"click","disabled"],[3,"visibility"],[2,"padding","0 16px"],[3,"link"],["mat-header-cell","",1,"checkbox"],["type","checkbox",3,"change","checked"],["mat-cell","",1,"checkbox"],["type","checkbox",3,"click","change","checked"],["mat-header-cell",""],["mat-cell","",2,"white-space","nowrap"],[2,"display","inline-block","margin-right","10px"],[3,"routerLink","queryParams"],[3,"text","term"],[3,"icon"],[3,"link","parentLink"],[3,"click","icon"],["mat-cell",""],["mat-header-cell","",1,"status"],["mat-cell","",1,"status",2,"line-height","0"],["mat-header-cell","",2,"text-align","center"],["mat-cell","",2,"text-align","center"],["mat-header-cell","",1,"expand"],["mat-header-row",""],["mat-row","",3,"click"]],template:function(n,s){if(n&1){let m=S();o(0,"app-instance-page")(1,"app-instance-toolbar"),r(2," Links \xA0\xA0\xA0 "),u(3,un,2,1,"ya-page-button",2)(4,_n,2,1,"ya-page-button",3)(5,Cn,2,2,"ya-page-button",4),o(6,"mat-menu",5,0),u(8,kn,4,3,"ng-template",6),a()(),o(9,"ya-detail-pane"),u(10,yn,4,1),f(11,"async"),u(12,bn,3,1),a(),o(13,"div",7)(14,"div",8),_(15,"app-links-page-tabs"),o(16,"div",9)(17,"ya-search-filter",10),v("onArrowDown",function(){return x(m),k(s.selectNext())})("onArrowUp",function(){return x(m),k(s.selectPrevious())})("onEnter",function(){return x(m),k(s.applySelection())}),a(),_(18,"ya-column-chooser",11,1),a(),o(20,"table",12),A(21,13),u(22,Ln,2,1,"th",14)(23,Tn,2,1,"td",15),V(),A(24,16),u(25,En,2,0,"th",17)(26,In,5,10,"td",18),V(),A(27,19),u(28,On,2,0,"th",17)(29,Mn,2,2,"td",20),V(),A(30,21),u(31,An,1,0,"th",22)(32,Fn,2,1,"td",23),V(),A(33,24),u(34,Pn,2,0,"th",17)(35,Nn,2,1,"td",20),V(),A(36,25),u(37,Rn,2,0,"th",26)(38,Bn,3,3,"td",27),V(),A(39,28),u(40,$n,2,0,"th",26)(41,jn,3,3,"td",27),V(),A(42,29),u(43,qn,1,0,"th",30)(44,Kn,2,1,"td",20),V(),u(45,zn,1,0,"tr",31),f(46,"async"),u(47,Xn,1,4,"tr",32),f(48,"async"),a(),o(49,"div",33)(50,"div",34),_(51,"ya-led",35),r(52," OK "),a(),o(53,"div",34),_(54,"ya-led",36),r(55," OK, activity "),a(),o(56,"div",34),_(57,"ya-led",37),r(58," Error "),a(),o(59,"div",34),_(60,"ya-led",38),r(61," Disabled "),a()()()()()}if(n&2){let m,g=w(19);l(3),d(s.mayControlLinks()?3:-1),l(),d(s.mayControlLinks()?4:-1),l(),d(s.mayControlLinks()?5:-1),l(),p("overlapTrigger",!1),l(4),d((m=y(11,15,s.detailLink$))?10:12,m),l(7),p("formControl",s.filterControl),l(),p("columns",s.columns),l(2),p("dataSource",s.dataSource)("trackBy",s.tableTrackerFn),l(25),p("matHeaderRowDef",y(46,17,g.displayedColumns$)),l(2),p("matRowDefColumns",y(48,19,g.displayedColumns$)),l(4),p("fade",!1),l(3),p("fade",!1),l(3),p("fade",!1),l(3),p("fade",!1)}},dependencies:[Et,Tt,me,ct,Dt,T,P,Ct,F,it,gt,Oe,Me,Ae,xt,at,St,kt,yt,bt,Gt,Ht,zt,Ut,Yt,Xt,Wt,Kt,Jt,Qt,$e,Ge,Ye,We,je,ee,Xe,ie,Qe],styles:[".detail[_ngcontent-%COMP%]{background-color:#fafafa;float:right;height:100%;width:450px;overflow:auto;border-left:1px solid #d3d3d3;box-sizing:border-box}.table-wrapper[_ngcontent-%COMP%]{position:relative;overflow:auto;height:100%}.table-wrapper[_ngcontent-%COMP%]   td[_ngcontent-%COMP%]{cursor:pointer}tr.disabled[_ngcontent-%COMP%]   td[_ngcontent-%COMP%], tr.disabled[_ngcontent-%COMP%]   td[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]{font-style:italic;color:#aaa}.legend[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:12px;margin-top:12px;margin-left:10px;font-family:Roboto,sans-serif}.legend-item[_ngcontent-%COMP%]{display:flex;align-items:center;margin-right:10px}.legend-item[_ngcontent-%COMP%]   ya-led[_ngcontent-%COMP%]{margin-right:4px}"],changeDetection:0})}};function Jn(e,i){e&1&&(o(0,"label"),r(1," CLCW check timeout (milliseconds) "),o(2,"ya-help",11)(3,"p"),r(4," Timeout associated to acknowledgment CLCWs. If a command frame is not acknowledged within this time, it will be retransmitted. "),a(),o(5,"p"),r(6," Other names: "),o(7,"code"),r(8,"T1_Initial"),a(),r(9," \xA0\u2022\xA0 "),o(10,"code"),r(11,"Timer_Initial_Value"),a(),r(12," . "),a()(),_(13,"input",12),a())}function Qn(e,i){e&1&&(o(0,"label"),r(1," V(R) "),o(2,"ya-help",13)(3,"p"),r(4," The N(S) frame sequence number expected to be seen by FARM-1 in the next Type-AD transfer frame. "),a(),o(5,"p"),r(6," Other name: "),o(7,"code"),r(8,"Receiver_Frame_Sequence_Number"),a(),r(9," . "),a()(),_(10,"input",14),a())}function Zn(e,i){if(e&1&&(_(0,"mat-divider",10),u(1,Jn,14,0,"label")(2,Qn,11,0,"label")),e&2){let t=c();l(),d(t.form.controls.type.value=="WITH_CLCW_CHECK"?1:-1),l(),d(t.form.controls.type.value=="SET_VR"?2:-1)}}var to=e=>{let i=e.get("type").value,t=e.get("clcwCheckTimeout").value,n=e.get("vr").value;return i=="WITH_CLCW_CHECK"&&(t===null||t==="")?{combined:"CLCW Check Timeout must be specified"}:i=="SET_VR"&&(n===null||n=="")?{combined:"V(R) must be specified"}:null},de=class e{constructor(i,t,n){this.dialogRef=i;this.data=n;this.form=t.group({type:["WITH_CLCW_CHECK",W.required],clcwCheckTimeout:"3000",vr:null},{validators:[to]})}sendRequest(){let i=this.form.value,t={type:i.type};t.type==="WITH_CLCW_CHECK"?t.clcwCheckInitializeTimeout=Number(i.clcwCheckTimeout):t.type==="SET_VR"&&(t.vR=Number(i.vr)),this.dialogRef.close(t)}static{this.\u0275fac=function(t){return new(t||e)(h(Pt),h(we),h(Nt))}}static{this.\u0275cmp=b({type:e,selectors:[["app-initiate-cop1-dialog"]],standalone:!0,features:[L],decls:26,vars:3,consts:[["mat-dialog-title",""],[1,"ya-form",3,"formGroup"],["type","radio","formControlName","type","value","WITHOUT_CLCW_CHECK"],[2,"font-weight","normal"],["type","radio","formControlName","type","value","WITH_CLCW_CHECK"],["type","radio","formControlName","type","value","UNLOCK"],["type","radio","formControlName","type","value","SET_VR"],["align","end"],["mat-dialog-close",""],["appearance","primary",3,"click","disabled"],[2,"margin-top","1em","margin-bottom","1em"],["dialogTitle","CLCW Check Timeout"],["type","text","formControlName","clcwCheckTimeout"],["dialogTitle","V(R)"],["type","text","formControlName","vr"]],template:function(t,n){t&1&&(o(0,"h2",0),r(1,"Initiate COP-1 AD Service"),a(),o(2,"mat-dialog-content")(3,"form",1)(4,"label"),_(5,"input",2),o(6,"span",3),r(7,"Without CLCW check"),a()(),o(8,"label"),_(9,"input",4),o(10,"span",3),r(11,"With CLCW check"),a()(),o(12,"label"),_(13,"input",5),o(14,"span",3),r(15,"With Unlock"),a()(),o(16,"label"),_(17,"input",6),o(18,"span",3),r(19,"With Set V(R)"),a()(),u(20,Zn,3,2),a()(),o(21,"mat-dialog-actions",7)(22,"ya-button",8),r(23,"CANCEL"),a(),o(24,"ya-button",9),v("click",function(){return n.sendRequest()}),r(25," INITIATE "),a()()),t&2&&(l(3),p("formGroup",n.form),l(17),d(n.form.controls.type.value=="WITH_CLCW_CHECK"||n.form.controls.type.value=="SET_VR"?20:-1),l(4),p("disabled",!n.form.valid))},dependencies:[T,vt,U,Ft,F,et,nt,ot,Bt,$t,qt,jt,at,lt,$],encapsulation:2})}};var ci=e=>({c:e});function eo(e,i){if(e&1){let t=S();o(0,"ya-page-button",11),v("clicked",function(){x(t);let s=c(),m=c();return k(m.enableLink(s.name))}),r(1," Enable "),a()}if(e&2){let t=c();p("disabled",!t.disabled)}}function io(e,i){if(e&1){let t=S();o(0,"ya-page-button",12),v("clicked",function(){x(t);let s=c(),m=c();return k(m.disableLink(s.name))}),r(1," Disable "),a()}if(e&2){let t=c();p("disabled",t.disabled)}}function no(e,i){if(e&1&&(o(0,"ya-page-button",4),r(1,"More"),a()),e&2){c();let t=w(8);p("matMenuTriggerFor",t)}}function oo(e,i){if(e&1&&(o(0,"mat-icon"),r(1," check "),a()),e&2){let t=c().$implicit;pt("visibility",t.checked?"visible":"hidden")}}function ao(e,i){if(e&1){let t=S();o(0,"button",15),v("click",function(){let s=x(t).$implicit,m=c(3),g=c();return k(g.runAction(m.name,s))}),u(1,oo,2,2,"mat-icon",16),r(2),a()}if(e&2){let t=i.$implicit;p("disabled",!t.enabled),l(),d(t.style==="CHECK_BOX"?1:-1),l(),C(" ",t.label," ")}}function ro(e,i){if(e&1&&(_(0,"mat-divider"),O(1,ao,3,3,"button",14,I)),e&2){let t=c(2);l(),M(t.actions)}}function lo(e,i){if(e&1){let t=S();o(0,"button",13),v("click",function(){x(t);let s=c(),m=c();return k(m.resetCounters(s.name))}),r(1,"Reset counters"),a(),u(2,ro,3,0)}if(e&2){let t=c();l(2),d(t.actions?2:-1)}}function so(e,i){if(e&1&&(r(0),_(1,"br")),e&2){let t=i.$implicit;C(" ",t||"-"," ")}}function co(e,i){if(e&1&&O(0,so,2,1,"br",null,I),e&2){let t=c();M(t)}}function mo(e,i){e&1&&r(0," - ")}function po(e,i){if(e&1&&u(0,co,2,0)(1,mo,1,0),e&2){let t=i;d(t.length?0:-1),l(),d(t.length?-1:1)}}function uo(e,i){if(e&1&&(o(0,"dt"),r(1),a(),o(2,"dd"),u(3,po,2,2),a()),e&2){let t,n=i.$implicit,s=c(3);l(),E(n.key),l(2),d((t=s.getEntriesForValue(n.value))?3:-1,t)}}function _o(e,i){if(e&1&&(o(0,"div",17),_(1,"mat-divider"),a(),o(2,"dl",18),O(3,uo,4,2,null,null,I),f(5,"keyvalue"),a()),e&2){let t=c();l(3),M(y(5,0,t.extra))}}function Co(e,i){if(e&1&&(o(0,"mat-icon",19),r(1,"toll"),a(),o(2,"a",20),r(3),a(),_(4,"br")),e&2){let t=i.$implicit,n=c(3);l(2),p("routerLink","/telemetry/parameters"+t)("queryParams",K(3,ci,n.yamcs.context)),l(),C(" ",t," ")}}function fo(e,i){if(e&1&&(o(0,"div",17),_(1,"mat-divider"),a(),o(2,"h4"),r(3,"System parameters"),a(),O(4,Co,5,5,null,null,I)),e&2){let t=c();l(4),M(t.parameters)}}function go(e,i){if(e&1){let t=S();o(0,"ya-text-action",27),v("click",function(){x(t);let s=c(4),m=c();return k(m.openInitiateCop1Dialog(s.name))}),r(1," INITIATE AD "),a()}}function ho(e,i){if(e&1){let t=S();o(0,"ya-text-action",28),v("click",function(){x(t);let s=c(4),m=c();return k(m.resumeCop1(s.name))}),r(1," RESUME AD "),a()}}function vo(e,i){if(e&1){let t=S();o(0,"ya-text-action",29),v("click",function(){x(t);let s=c(4),m=c();return k(m.disableCop1(s.name))}),r(1," TERMINATE AD "),a()}}function xo(e,i){if(e&1&&(o(0,"div",21),u(1,go,2,0,"ya-text-action",24)(2,ho,2,0,"ya-text-action",25)(3,vo,2,0,"ya-text-action",26),a()),e&2){let t=c();l(),d(t.cop1Active?-1:1),l(),d(t.state==="SUSPENDED"?2:-1),l(),d(t.cop1Active?3:-1)}}function ko(e,i){e&1&&r(0," AD (Sequence-controlled service) ")}function yo(e,i){e&1&&r(0," BD (Expedited service) ")}function So(e,i){if(e&1&&r(0),e&2){let t=c(2);C(" of ",t.txLimit," ")}}function bo(e,i){if(e&1&&(o(0,"div",17),_(1,"mat-divider"),a(),o(2,"h4"),r(3," COP-1 "),u(4,xo,4,3,"div",21),a(),o(5,"dl",18)(6,"dt"),r(7," Service "),o(8,"ya-help")(9,"p"),r(10," COP-1 provides two service modes that determine how reliably frames are transmitted: "),a(),o(11,"table",22)(12,"tr")(13,"td",23),r(14,"AD (Sequence-controlled)"),a(),o(15,"td"),r(16,"Sends Type-AD and Type-BC Transfer Frames."),a()(),o(17,"tr")(18,"td",23),r(19,"BD (Expedited)"),a(),o(20,"td"),r(21,"Sends Type-BD Transfer Frames. There are no retransmissions."),a()()()()(),o(22,"dd"),u(23,ko,1,0)(24,yo,1,0),a()(),o(25,"dl",18)(26,"dt"),r(27,"Wait queue"),a(),o(28,"dd"),r(29),a(),o(30,"dt"),r(31,"Enqueue TCs with bypass"),a(),o(32,"dd"),r(33),f(34,"nvl"),a()(),o(35,"dl",18)(36,"dt"),r(37,"TX state"),a(),o(38,"dd"),r(39),a(),o(40,"dt"),r(41,"V(S)"),a(),o(42,"dd"),r(43),f(44,"nvl"),a(),o(45,"dt"),r(46,"Sent queue"),a(),o(47,"dd"),r(48),a(),o(49,"dt"),r(50,"Out queue"),a(),o(51,"dd"),r(52),a(),o(53,"dt"),r(54,"Last frame TX attempts"),a(),o(55,"dd"),r(56),f(57,"nvl"),u(58,So,1,1),a()(),o(59,"dl",18)(60,"dt"),r(61,"On TX timeout"),a(),o(62,"dd"),r(63),a(),o(64,"dt"),r(65,"Retransmission delay"),a(),o(66,"dd"),r(67),a()(),o(68,"h4"),r(69,"CLCW"),a(),o(70,"dl",8)(71,"dt"),r(72,"Received"),a(),o(73,"dd"),r(74),f(75,"datetime"),a(),o(76,"dt"),r(77,"Lockout"),a(),o(78,"dd"),r(79),f(80,"nvl"),a(),o(81,"dt"),r(82,"Wait"),a(),o(83,"dd"),r(84),f(85,"nvl"),a(),o(86,"dt"),r(87,"Retransmit"),a(),o(88,"dd"),r(89),f(90,"nvl"),a(),o(91,"dt"),r(92,"N(R)"),a(),o(93,"dd"),r(94),f(95,"nvl"),a()(),o(96,"dl",18)(97,"dt"),r(98,"NN(R)"),a(),o(99,"dd"),r(100),f(101,"nvl"),a()()),e&2){let t=i,n=c(),s=c(2);l(4),d(s.mayControlLinks()?4:-1),l(19),d(t.cop1Active?23:-1),l(),d(t.cop1Active?-1:24),l(5),C("",t.waitQueueNumTC||0," TCs"),l(4),C(" ",z(34,20,!n.bdAbsolutePriority,"-")," "),l(6),E(t.state||"-"),l(4),E(z(44,23,t.vS,"-")),l(5),ye("",t.sentQueueNumFrames||0," frames (limit: ",n.windowWidth,")"),l(4),E(t.outQueueNumFrames||0),l(4),C(" ",z(57,26,t.txCount,"-")," "),l(2),d(t.txCount?58:-1),l(5),E(n.timeoutType||"-"),l(4),C("",n.t1," ms"),l(7),E(y(75,29,t.clcw==null?null:t.clcw.receptionTime)||"-"),l(5),C(" ",z(80,31,t.clcw==null?null:t.clcw.lockout,"-")," "),l(5),C(" ",z(85,34,t.clcw==null?null:t.clcw.wait,"-")," "),l(5),C(" ",z(90,37,t.clcw==null?null:t.clcw.retransmit,"-")," "),l(5),E(z(95,40,t.clcw==null?null:t.clcw.nR,"-")),l(6),E(z(101,43,t.nnR,"-"))}}function Lo(e,i){if(e&1&&(u(0,bo,102,46),f(1,"async")),e&2){let t,n=c(2);d((t=y(1,1,n.cop1Status$))?0:-1,t)}}function To(e,i){if(e&1&&(o(0,"app-instance-page")(1,"app-instance-toolbar"),_(2,"ya-page-icon-button",1),r(3),u(4,eo,2,1,"ya-page-button",2)(5,io,2,1,"ya-page-button",3)(6,no,2,1,"ya-page-button",4),o(7,"mat-menu",5,0),u(9,lo,3,1,"ng-template",6),a()(),o(10,"div",7)(11,"dl",8)(12,"dt"),r(13,"Type"),a(),o(14,"dd"),r(15),a(),o(16,"dt"),r(17,"Status"),a(),o(18,"dd",9),_(19,"app-link-status",10),r(20),a(),o(21,"dt"),r(22,"In count"),a(),o(23,"dd"),r(24),f(25,"number"),a(),o(26,"dt"),r(27,"Out count"),a(),o(28,"dd"),r(29),f(30,"number"),a(),o(31,"dt"),r(32,"Detail"),a(),o(33,"dd"),r(34),a()(),u(35,_o,6,2)(36,fo,6,0)(37,Lo,2,3),f(38,"async"),a()()),e&2){let t,n=i,s=c();l(2),p("queryParams",K(21,ci,s.yamcs.context)),l(),C(" Links / ",n.name," \xA0\xA0\xA0 "),l(),d(s.mayControlLinks()?4:-1),l(),d(s.mayControlLinks()?5:-1),l(),d(s.mayControlLinks()?6:-1),l(),p("overlapTrigger",!1),l(8),E(n.type),l(4),p("link",n),l(),C(" \xA0 ",n.status," "),l(4),E(y(25,15,n.dataInCount)),l(5),E(y(30,17,n.dataOutCount)),l(5),E(n.detailedStatus||"-"),l(),d(n.extra?35:-1),l(),d(n.parameters?36:-1),l(),d((t=y(38,19,s.cop1Config$))?37:-1,t)}}var ue=class e{constructor(i,t,n,s,m,g,D){this.title=i;this.yamcs=n;this.authService=s;this.messageService=m;this.dialog=g;this.linkService=D;this.link$=new J(null);this.cop1Config$=new J(null);this.cop1Status$=new J(null);t.paramMap.subscribe(wt=>{let _t=wt.get("link");this.changeLink(_t)}),this.linkSubscription=this.yamcs.yamcsClient.createLinkSubscription({instance:this.yamcs.instance},wt=>{for(let _t of wt.links||[]){let It=this.link$.value;It&&It.name===_t.name&&this.link$.next(_t)}})}changeLink(i){this.cop1Subscription?.cancel(),this.cop1Status$.next(null),this.cop1Config$.next(null),this.yamcs.yamcsClient.getLink(this.yamcs.instance,i).then(t=>{this.link$.next(t),this.title.setTitle(i),t.type.indexOf("Cop1Tc")!==-1&&(this.yamcs.yamcsClient.getCop1Config(this.yamcs.instance,i).then(n=>{this.cop1Config$.next(n)}),this.cop1Subscription=this.yamcs.yamcsClient.createCop1Subscription({instance:t.instance,link:i},n=>{this.cop1Status$.next(n)}))})}openInitiateCop1Dialog(i){this.dialog.open(de,{width:"400px"}).afterClosed().subscribe(n=>{n&&this.initiateCop1(i,n)})}initiateCop1(i,t){this.yamcs.yamcsClient.initiateCop1(this.yamcs.instance,i,t).catch(n=>this.messageService.showError(n))}disableCop1(i){this.yamcs.yamcsClient.disableCop1(this.yamcs.instance,i).catch(t=>this.messageService.showError(t))}resumeCop1(i){this.yamcs.yamcsClient.resumeCop1(this.yamcs.instance,i).catch(t=>this.messageService.showError(t))}mayControlLinks(){return this.authService.getUser().hasSystemPrivilege("ControlLinks")}enableLink(i){this.yamcs.yamcsClient.enableLink(this.yamcs.instance,i).catch(t=>this.messageService.showError(t))}disableLink(i){this.yamcs.yamcsClient.disableLink(this.yamcs.instance,i).catch(t=>this.messageService.showError(t))}resetCounters(i){this.yamcs.yamcsClient.resetLinkCounters(this.yamcs.instance,i).catch(t=>this.messageService.showError(t))}runAction(i,t){this.linkService.runAction(i,t)}getEntriesForValue(i){if(i==null)return[];let t=[];if(Array.isArray(i))for(let n=0;n




© 2015 - 2025 Weber Informatics LLC | Privacy Policy