1import{b as st}from"./chunk-EYW424OK.js";import{a as ne}from"./chunk-MBBSTNR3.js";import{a as mt}from"./chunk-D6GUH2JB.js";import{a as He,b as Xe}from"./chunk-T5SRIE6B.js";import{b as it,c as at,e as rt,g as lt}from"./chunk-MUX546UT.js";import{b as G,g as Je,h as Ye,i as Ze,j as et,k as tt,o as nt,q as ot}from"./chunk-NBFYDK72.js";import"./chunk-IEXUOAOX.js";import"./chunk-B5B42CLF.js";import"./chunk-UEYUHFFO.js";import"./chunk-7OT4SYIN.js";import{b as Qe}from"./chunk-MKR6AWGF.js";import{a as Ue,b as Ge}from"./chunk-24SGKSDR.js";import"./chunk-46Z26J7X.js";import"./chunk-KXIYBWXW.js";import"./chunk-7VWVDUWF.js";import{b as z,c as j}from"./chunk-BIVUD6S2.js";import{b as U}from"./chunk-HQNDO5KE.js";import"./chunk-5NWRCH3B.js";import{E as We,T as Ke,g as qe,m as $e}from"./chunk-WLFKEJOU.js";import"./chunk-IVCEBP44.js";import{N as De,f as Ie}from"./chunk-J5IIX55P.js";import"./chunk-4L7YE63B.js";import{h as W,i as K,q as Le,r as Be}from"./chunk-2OZLQXHO.js";import{e as ze,f as je}from"./chunk-SGTBNBE3.js";import{d as Ae,e as Oe}from"./chunk-Q5SDMF7X.js";import"./chunk-CPEEP7AR.js";import"./chunk-G5SPAMD7.js";import{g as te,h as Fe,k as B,n as q,o as $}from"./chunk-OJ7VYVBJ.js";import"./chunk-YON637JW.js";import"./chunk-GM2JVP3T.js";import"./chunk-5OK4MI24.js";import"./chunk-OYJ2GKKX.js";import"./chunk-YZKGASF4.js";import"./chunk-U5CNGY5Q.js";import{a as Re}from"./chunk-KSJITMUJ.js";import"./chunk-3A47HUKH.js";import{h as Te}from"./chunk-MWR3WBAN.js";import"./chunk-S75ZCO3X.js";import{b as O,c as x,e as L,f as ve,i as he,j as Pe,k as Se,n as Me,o as Ve,t as Ee,u as Ne,v as ke}from"./chunk-3RR5RCHM.js";import"./chunk-UYZZW7MY.js";import"./chunk-WZXLMGQU.js";import"./chunk-JXX46AET.js";import{d as we}from"./chunk-SX6ERPNW.js";import"./chunk-IHASTXEB.js";import"./chunk-4WFVMWDK.js";import"./chunk-7V3N352X.js";import"./chunk-ENYQGSUB.js";import"./chunk-773YA7SS.js";import{X as xe}from"./chunk-U7XSJIRQ.js";import{$b as m,Ba as v,Cb as ee,D as oe,Fa as me,Hc as u,Ic as ye,Jc as ge,L as re,Nc as P,Oc as S,Pc as M,Tb as I,Ub as D,W as le,Xb as pe,Xc as Ce,Yb as de,Zb as d,Zc as be,_b as r,ac as p,ea as A,gb as _,gc as ce,ja as c,jc as w,jd as V,pa as g,pd as R,qa as C,qc as b,sc as o,wb as h,wc as ue,xc as fe,yb as se,yc as _e}from"./chunk-LTJHT5NU.js";import"./chunk-N4DEZSRD.js";import"./chunk-JKU7I2FD.js";import"./chunk-4TNENQGS.js";import"./chunk-GTKUA5DM.js";import"./chunk-6UNJVD3U.js";import"./chunk-XDPEVTHG.js";import"./chunk-5IKJBXWF.js";import"./chunk-BL6GPBAP.js";import"./chunk-SV7S5NYR.js";import"./chunk-PVMEIX5M.js";import{a as T,b as N,e as Y,f as Z,r as k,s as y}from"./chunk-KTBBAXUL.js";var E=class n extends Te{defaultUrl="/parameters";get(t){return y(this,null,function*(){return yield k(n.prototype,this,"getAll").call(this,[this.defaultUrl],Re(t))})}update(t){return y(this,null,function*(){return yield k(n.prototype,this,"_post").call(this,t,[this.defaultUrl,t.id])})}add(t){return y(this,null,function*(){return yield k(n.prototype,this,"_post").call(this,t)})}delete(t){return y(this,null,function*(){return yield k(n.prototype,this,"_delete").call(this,null,[this.defaultUrl,t])})}static \u0275fac=(()=>{let t;return function(i){return(t||(t=me(n)))(i||n)}})();static \u0275prov=A({token:n,factory:n.\u0275fac,providedIn:"root"})};var Q=class n{static ngTemplateContextGuard(t,e){return!0}static \u0275fac=function(e){return new(e||n)};static \u0275dir=se({type:n,selectors:[["ng-template","appParametersRow",""]]})};var H=class n{#e=c($);#n=c(E);#t=c(ze);deviceTypesService=c(U);form=c(Ee).group({name:["",[x.required]],slug:["",[x.required]],type:["",[x.required]],deviceType:[null,[x.required]],set:[0,[x.required]],bytes:[1,[x.required]],offset:[0,[x.required]],isConfigurable:[!1,[x.required]],minValue:[null],maxValue:[null],defaultValue:[null],um:[null]});save(){return y(this,null,function*(){let{valid:t,value:e}=this.form;if(!t)return;yield this.#n.add(N(T({},e),{minValue:e.minValue?.toString(),maxValue:e.maxValue?.toString()})).then(()=>{this.#e.success("Device type successfully saved"),this.#t.close(!0)}).catch(a=>this.#e.error(a))})}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=h({type:n,selectors:[["ng-component"]],decls:53,vars:4,consts:[[1,"dynamic-dialog"],[1,"dynamic-dialog-content"],[1,"flex","flex-col","gap-6","pt-5",3,"formGroup"],[1,"p-float-label","!mt-0"],["formControlName","name","id","name","pInputText","",1,"w-full"],["for","name"],["formControlName","slug","id","slug","pInputText","",1,"w-full"],["for","slug"],["formControlName","type","id","type","pInputText","",1,"w-full"],["for","type"],["formControlName","deviceType","id","deviceType","optionLabel","id","optionValue","id","styleClass","w-full",3,"options"],["for","deviceType"],["formControlName","set","id","set","pInputText","","type","number",1,"w-full"],["for","set"],["formControlName","bytes","id","bytes","pInputText","","type","number",1,"w-full"],["for","bytes"],["formControlName","offset","id","offset","pInputText","","type","number",1,"w-full"],["for","offset"],[1,"flex","items-center","gap-2"],["formControlName","isConfigurable","inputId","isConfigurable",3,"binary"],["for","isConfigurable"],["formControlName","minValue","id","minValue","pInputText","","type","number",1,"w-full"],["for","minValue"],["formControlName","maxValue","id","maxValue","pInputText","","type","number",1,"w-full"],["for","maxValue"],["formControlName","defaultValue","id","defaultValue","pInputText","",1,"w-full"],["for","defaultValue"],["formControlName","um","id","um","pInputText","",1,"w-full"],["for","um"],[1,"dynamic-dialog-footer"],["label","Save parameter","size","small",3,"onClick","disabled"]],template:function(e,i){e&1&&(r(0,"div",0)(1,"div",1)(2,"form",2)(3,"span",3),p(4,"input",4),r(5,"label",5),u(6,"Name"),m()(),r(7,"span",3),p(8,"input",6),r(9,"label",7),u(10,"Slug"),m()(),r(11,"span",3),p(12,"input",8),r(13,"label",9),u(14,"Type"),m()(),r(15,"span",3),p(16,"p-select",10),r(17,"label",11),u(18,"Device type"),m()(),r(19,"span",3),p(20,"input",12),r(21,"label",13),u(22,"Set"),m()(),r(23,"span",3),p(24,"input",14),r(25,"label",15),u(26,"Bytes"),m()(),r(27,"span",3),p(28,"input",16),r(29,"label",17),u(30,"Offset"),m()(),r(31,"div",18),p(32,"p-checkbox",19),r(33,"label",20),u(34,"Is configurable"),m()(),r(35,"span",3),p(36,"input",21),r(37,"label",22),u(38,"Min value"),m()(),r(39,"span",3),p(40,"input",23),r(41,"label",24),u(42,"Max value"),m()(),r(43,"span",3),p(44,"input",25),r(45,"label",26),u(46,"Default value"),m()(),r(47,"span",3),p(48,"input",27),r(49,"label",28),u(50,"Unit of measurement"),m()()()(),r(51,"div",29)(52,"p-button",30),b("onClick",function(){return i.save()}),m()()()),e&2&&(_(2),d("formGroup",i.form),_(14),d("options",i.deviceTypesService.entities()),_(16),d("binary",!0),_(20),d("disabled",!i.form.dirty||!i.form.valid))},dependencies:[Oe,Ae,K,W,st,Qe,ke,Pe,O,Se,L,ve,Ve,Me,j,z,Be,Le],styles:["[_nghost-%COMP%]{display:flex;flex:1 1 100%}"]})};var X=class n{#e=c(je);openAddParameterDialog(){return this.#e.open(H,{closable:!0,closeOnEscape:!0,header:"Add parameter",width:"800px"})?.onClose.pipe(re(1),oe(e=>!!e))}static \u0275fac=function(e){return new(e||n)};static \u0275prov=A({token:n,factory:n.\u0275fac,providedIn:"root"})};var Tt=()=>[5,10,25,50,100,300,500,1e3,3e3,5e3],vt=(n,t)=>({key:n,row:t}),ht=(n,t)=>t.key;function Pt(n,t){if(n&1){let e=w();r(0,"wat-table-caption",7),b("add",function(){g(e);let a=o();return C(a.openAddParameterDialog())})("search",function(a){g(e);let l=o();return C(l.table.filterGlobal(a,"contains"))}),M("columnsConfigChange",function(a){g(e);let l=o();return S(l.columnsConfig,a)||(l.columnsConfig=a),C(a)}),m()}if(n&2){let e=o();P("columnsConfig",e.columnsConfig),d("addLabel","Add parameter")("tableId","parameters")("title","Parameters")}}function St(n,t){if(n&1&&p(0,"wat-table-header",8),n&2){let e=t.$implicit;d("actionsPosition","start")("columns",e)}}function Mt(n,t){if(n&1){let e=w();r(0,"ion-button",12),b("click",function(){g(e);let a=o().$implicit,l=o();return C(l.onRowEditSave(a))}),p(1,"ion-icon",13),m(),r(2,"ion-button",14),b("click",function(){g(e);let a=o(),l=a.rowIndex,s=a.$implicit,f=o();return C(f.onRowEditCancel(s,l))}),p(3,"ion-icon",15),m()}if(n&2){let e=o(2);_(),d("icon",e.checkmarkOutline),_(2),d("icon",e.closeOutline)}}function Vt(n,t){if(n&1){let e=w();r(0,"ion-button",16),b("click",function(){g(e);let a=o().$implicit,l=o();return C(l.onRowEditInit(a))}),p(1,"ion-icon",17),m(),r(2,"ion-button",18),b("click",function(){g(e);let a=o().$implicit,l=o();return C(l.onRowDelete(a))}),p(3,"ion-icon",15),m()}if(n&2){let e=o(2);_(),d("icon",e.pencilOutline),_(2),d("icon",e.trashOutline)}}function Et(n,t){if(n&1&&ce(0,19),n&2){let e=o().$implicit,i=o().$implicit;d("ngComponentOutlet",e.value.component)("ngComponentOutletInputs",be(2,vt,e.key,i))}}function Nt(n,t){if(n&1){let e=w();r(0,"p-inputNumber",24),M("ngModelChange",function(a){g(e);let l=o(3).$implicit,s=o().$implicit,f=o();return S(s[f.asAllowedKeys(l.key)],a)||(s[f.asAllowedKeys(l.key)]=a),C(a)}),m()}if(n&2){let e=o(3).$implicit,i=o().$implicit,a=o();d("min",e.value.editableConfig==null?null:e.value.editableConfig.min)("max",e.value.editableConfig==null?null:e.value.editableConfig.max),P("ngModel",i[a.asAllowedKeys(e.key)])}}function kt(n,t){if(n&1){let e=w();r(0,"p-checkbox",25),M("ngModelChange",function(a){g(e);let l=o(3).$implicit,s=o().$implicit,f=o();return S(s[f.asAllowedKeys(l.key)],a)||(s[f.asAllowedKeys(l.key)]=a),C(a)}),m()}if(n&2){let e=o(3).$implicit,i=o().$implicit,a=o();d("binary",!0),P("ngModel",i[a.asAllowedKeys(e.key)])}}function It(n,t){if(n&1){let e=w();r(0,"input",26),M("ngModelChange",function(a){g(e);let l=o(3).$implicit,s=o().$implicit,f=o();return S(s[f.asAllowedKeys(l.key)],a)||(s[f.asAllowedKeys(l.key)]=a),C(a)}),m()}if(n&2){let e=o(3).$implicit,i=o().$implicit,a=o();P("ngModel",i[a.asAllowedKeys(e.key)])}}function Dt(n,t){if(n&1){let e=w();r(0,"input",27),M("ngModelChange",function(a){g(e);let l=o(3).$implicit,s=o().$implicit,f=o();return S(s[f.asAllowedKeys(l.key)],a)||(s[f.asAllowedKeys(l.key)]=a),C(a)}),m()}if(n&2){let e=o(3).$implicit,i=o().$implicit,a=o();d("min",e.value.editableConfig==null?null:e.value.editableConfig.min)("max",e.value.editableConfig==null?null:e.value.editableConfig.max)("type",a.maskTypes(i)),P("ngModel",i[a.asAllowedKeys(e.key)])}}function Rt(n,t){if(n&1&&I(0,Nt,1,3,"p-inputNumber",20)(1,kt,1,2,"p-checkbox",21)(2,It,1,1,"input",22)(3,Dt,1,4,"input",23),n&2){let e,i=o(2).$implicit;D((e=i.value.editableConfig==null?null:i.value.editableConfig.type)==="number"?0:e==="boolean"?1:e==="string"?2:3)}}function Ft(n,t){if(n&1&&u(0),n&2){let e=o(2).$implicit,i=o().$implicit;ge(" ",i[e.key]," ")}}function At(n,t){n&1&&(r(0,"p-cellEditor"),ee(1,Rt,4,1,"ng-template",null,3,V)(3,Ft,1,1,"ng-template",null,4,V),m())}
1function Ot(n,t){if(n&1&&(r(0,"span"),u(1),m()),n&2){let e=o().$implicit,i=o().$implicit;_(),ye(i[e.key])}}function Lt(n,t){if(n&1&&(r(0,"td"),I(1,Et,1,5,"ng-container",19),I(2,At,5,0,"p-cellEditor")(3,Ot,2,1,"span"),m()),n&2){let e,i=t.$implicit;_(),D((e=i.value.component)?1:-1,e),_(),D(i.value.editable?2:3)}}function Bt(n,t){if(n&1&&(r(0,"tr",9)(1,"td",10)(2,"div",11),I(3,Mt,4,2)(4,Vt,4,2),m()(),pe(5,Lt,4,2,"td",null,ht),m()),n&2){let e=t.columns,i=t.editing,a=t.$implicit;d("id",a.uiId)("pEditableRow",a),_(3),D(i?3:4),_(2),de(e)}}var J=class n{#e=v(void 0);#n=c(U);#t=c(E);#a=c(X);#o=c(mt);#r=c(we);#i=c($);table;rows=300;isLoading=v(!0);data=v(void 0);trackBy=Fe();entitiesBeingEdited=v({});filteredData=c(ne).getComputedFilterFunction(this.data,this.#e);totalRecords=c(ne).getComputedTotalRecords(this.data,this.filteredData);columnsConfig;displayedColumns=R(()=>ot(this.columnsConfig(),"parameters"));availableTypes=R(()=>B(this.data()?.items.map(t=>t.type)??[]).sort(q));availableNames=R(()=>B(this.data()?.items.map(t=>t.name)??[]).sort(q));availableSlugs=R(()=>B(this.data()?.items.map(t=>t.slug)??[]).sort(q));tableEventState=it(this.rows);checkmarkOutline=qe;closeOutline=$e;pencilOutline=We;trashOutline=Ke;constructor(){this.columnsConfig=v({id:{displayName:"Id",displayed:!1,sortable:!0,filterType:"text"},slug:{displayName:"Slug",displayed:!1,sortable:!0,filterConfig:{options:this.availableSlugs}},name:{displayName:"Name",displayed:!0,editable:!0,editableConfig:{type:"string"},filterConfig:{options:this.availableNames}},type:{displayName:"Type",displayed:!0,filterConfig:{options:this.availableTypes},sortable:!0},deviceType:{displayName:"Device Type",displayed:!0,filterConfig:{options:this.#n.entities,optionLabel:"shortName",optionValue:"id"},sortable:!0},minValue:{displayName:"Min value",displayed:!0,editable:!0,filterType:"text"},maxValue:{displayName:"Max value",displayed:!0,editable:!0,filterType:"text"},defaultValue:{displayName:"Default Value",displayed:!0,editable:!0,filterType:"text"},unitOfMeasurement:{displayName:"Measurement unit",displayed:!1,filterType:"text"},isConfigurable:{displayName:"Configurable",displayed:!0,editable:!0,editableConfig:{type:"boolean"},filterConfig:{options:[{label:"True",value:!0},{label:"False",value:!1}],optionLabel:"label",optionValue:"value"}},hidden:{displayName:"Hidden",displayed:!0,editable:!0,editableConfig:{type:"boolean"},filterConfig:{options:[{label:"True",value:!0},{label:"False",value:!1}],optionLabel:"label",optionValue:"value"}},set:{displayName:"Set",displayed:!0,editable:!0,editableConfig:{min:0,max:10,type:"number"},filterConfig:{options:[0,1,2,3,4,5,6,7]},sortable:!0},bytes:{displayName:"Bytes",displayed:!0,editable:!0,editableConfig:{min:1,max:64,type:"number"},filterType:"numeric",sortable:!0},offset:{displayName:"Offset",displayed:!0,editable:!0,editableConfig:{min:0,type:"number"},sortable:!0,filterType:"numeric"}})}asAllowedKeys(t){return t}loadItems(){return y(this,arguments,function*(t=this.tableEventState){this.isLoading.set(!0);let e=t.rows??this.rows,i=at(t,"deviceType"),l=yield this.#t.get({searchString:te(t.globalFilter),sortColumn:te(t.sortField),direction:t.sortOrder===1?"asc":"desc",page:(t.first??0)/e+1,size:e,deviceTypes:i}).catch(()=>({count:0,items:[]}));this.#e.set(t.filters),this.data.set({items:l.items.map(s=>N(T({},s),{uiId:s.id+s.deviceType})),count:l.count}),this.tableEventState=t,this.isLoading.set(!1)})}onRowEditInit(t){this.entitiesBeingEdited.update(e=>N(T({},e),{[t.id+t.deviceType]:T({},t)}))}onRowDelete(t){this.#o.open({header:"Delete parameter",message:"Are you sure you want to proceed?",accept:()=>y(this,null,function*(){return yield this.#l(t)})})}onRowEditSave(t){return y(this,null,function*(){var Ct;let ae=this.entitiesBeingEdited(),{[Ct=t.id+t.deviceType]:e}=ae,i=Z(ae,[Y(Ct)]);this.entitiesBeingEdited.set(i);let{id:a,name:l,deviceType:s,minValue:f,maxValue:dt,defaultValue:ct,isConfigurable:ut,hidden:ft,bytes:_t,set:yt,offset:gt}=t;yield this.#t.update({id:a,name:l,deviceType:s,minValue:f,maxValue:dt,defaultValue:ct,isConfigurable:ut,hidden:ft,bytes:_t,set:yt,offset:gt})})}onRowEditCancel(t,e){var l;let s=this.entitiesBeingEdited(),{[l=t.id+t.deviceType]:i}=s,a=Z(s,[Y(l)]);this.filteredData()[e]=i,this.entitiesBeingEdited.set(a)}maskTypes(t){return t.type==="integer"?"number":(t.type==="string","text")}openAddParameterDialog(){this.#a.openAddParameterDialog()?.pipe(le(()=>this.loadItems())).subscribe()}#l(t){return y(this,null,function*(){try{yield this.#t.delete(t.id),yield this.loadItems(),this.#i.success(`${t.name} deleted!`)}catch(e){this.#r.error(e),this.#i.error(`Failed to delete ${t.name}!`)}})}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=h({type:n,selectors:[["app-parameters-table"]],viewQuery:function(e,i){if(e&1&&ue(G,5),e&2){let a;fe(a=_e())&&(i.table=a.first)}},decls:7,vars:11,consts:[["caption",""],["header",""],["body",""],["input",""],["output",""],["currentPageReportTemplate","Showing {first} to {last} of {totalRecords} parameters","lazy","","paginator","","resetPageOnSort","","scrollable","","showCurrentPageReport","","styleClass","p-datatable-sm",1,"no-border",3,"onLazyLoad","columns","dataKey","editMode","loading","rowTrackBy","rowsPerPageOptions","rows","scrollHeight","totalRecords","value"],["appParametersRow",""],[3,"add","search","columnsConfigChange","columnsConfig","addLabel","tableId","title"],[3,"actionsPosition","columns"],[3,"id","pEditableRow"],[1,"action-col"],[1,"flex","items-center","justify-around"],["size","small","fill","clear","shape","round","pSaveEditableRow","",3,"click"],["color","success","slot","icon-only",3,"icon"],["size","small","fill","clear","shape","round","pCancelEditableRow","",3,"click"],["color","danger","slot","icon-only",3,"icon"],["size","small","fill","clear","shape","round","pInitEditableRow","",3,"click"],["slot","icon-only",3,"icon"],["size","small","fill","clear","shape","round",3,"click"],[3,"ngComponentOutlet","ngComponentOutletInputs"],["inputStyleClass","w-[5rem]",3,"min","max","ngModel"],[3,"binary","ngModel"],["pInputText","",3,"ngModel"],["pInputText","",3,"min","max","type","ngModel"],["inputStyleClass","w-[5rem]",3,"ngModelChange","min","max","ngModel"],[3,"ngModelChange","binary","ngModel"],["pInputText","",3,"ngModelChange","ngModel"],["pInputText","",3,"ngModelChange","min","max","type","ngModel"]],template:function(e,i){e&1&&(r(0,"p-table",5),b("onLazyLoad",function(l){return i.loadItems(l)}),ee(1,Pt,1,4,"ng-template",null,0,V)(3,St,1,2,"ng-template",null,1,V)(5,Bt,7,3,"ng-template",6,2,V),m()),e&2&&d("columns",i.displayedColumns())("dataKey","uiId")("editMode","row")("loading",i.isLoading())("rowTrackBy",i.trackBy)("rowsPerPageOptions",Ce(10,Tt))("rows",i.rows)("scrollHeight","82vh")("totalRecords",i.totalRecords())("value",i.filteredData())},dependencies:[nt,G,tt,Je,Ye,Ze,et,K,W,Ne,O,L,he,Q,j,z,rt,lt,Ge,Ue,xe,Ie,De],styles:[".hide[_ngcontent-%COMP%]{visibility:hidden}
1input[_ngcontent-%COMP%], p-inputnumber[_ngcontent-%COMP%]{height:2rem}"]})};var ie=class n{static \u0275fac=function(e){return new(e||n)};static \u0275cmp=h({type:n,selectors:[["app-parameters"]],decls:2,vars:0,consts:[[1,"sm:m-4","no-card-content-padding","flex"]],template:function(e,i){e&1&&(r(0,"p-card",0),p(1,"app-parameters-table"),m())},dependencies:[Xe,He,J],encapsulation:2})};export{ie as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.