1 line
4.6 KiB
JavaScript
1 line
4.6 KiB
JavaScript
import{Popup}from"./Popup.js";export class ConfirmAllPopup extends Popup{static#tchmiFQN="TcHmi.Controls.Beckhoff.TcHmiEventGridPopups."+this.name;constructor(element,control){if(super(element,"confirmAllPopup",control),this.__elementAlarmCount=this.__elementContent.getElementsByClassName("TcHmi_Controls_Beckhoff_TcHmiEventGrid-template-confirm-all-popup-alarm-count")[0],!this.__elementAlarmCount)throw new Error("Invalid Template.html");let datagrid=TcHmi.ControlFactory.createEx("TcHmi.Controls.Beckhoff.TcHmiDatagrid",`${this.__parentControl.getId()}.${this.__name}.datagrid`,{"data-tchmi-src-column":[{name:"severity",label:"",control:"Image",width:30,widthUnit:"px",resize:!1,minWidth:30,minWidthUnit:"px",editable:!1,horizontalAlignment:"Center",verticalAlignment:"Center",dataDefinitions:[{text:"Verbose",value:0,height:26,width:26,source:TcHmi.Controls.getBasePathEx(control)+"/Themes/Base/Images/verbose.svg"},{text:"Info",value:1,height:26,width:26,source:TcHmi.Controls.getBasePathEx(control)+"/Themes/Base/Images/info.svg"},{text:"Warning",value:2,height:26,width:26,source:TcHmi.Controls.getBasePathEx(control)+"/Themes/Base/Images/warning.svg"},{text:"Error",value:3,height:26,width:26,source:TcHmi.Controls.getBasePathEx(control)+"/Themes/Base/Images/error.svg"},{text:"Critical",value:4,height:26,width:26,source:TcHmi.Controls.getBasePathEx(control)+"/Themes/Base/Images/critical.svg"}]},{name:"timeRaised",label:"%l%Control::TcHmi.Controls.Beckhoff.TcHmiEventGrid::Column_Header_Raised%/l%",control:"TextBlock",format:{objectType:"Function",fn:"ToDateTimeString",fnParams:[]},width:150,widthUnit:"px",resize:!0,minWidth:70,minWidthUnit:"px",editable:!1,horizontalAlignment:"Center",verticalAlignment:"Center"},{name:"text",label:"%l%Control::TcHmi.Controls.Beckhoff.TcHmiEventGrid::Column_Header_Text%/l%",control:"TextBlock",width:300,widthUnit:"px",resize:!0,minWidth:100,minWidthUnit:"px",editable:!1,horizontalAlignment:"Left",verticalAlignment:"Center"}]},this.__parentControl),yesButton=TcHmi.ControlFactory.createEx("TcHmi.Controls.Beckhoff.TcHmiButton",`${this.__parentControl.getId()}.${this.__name}.confirmButton`,{"data-tchmi-height":30,"data-tchmi-width-mode":"Content","data-tchmi-min-width":60,"data-tchmi-text-padding":{left:7,right:7},"data-tchmi-text":"%l%Control::TcHmi.Controls.Beckhoff.TcHmiEventGrid::Button_Text_ConfirmAll_Yes%/l%","data-tchmi-tooltip":"%l%Control::TcHmi.Controls.Beckhoff.TcHmiEventGrid::Button_Tooltip_ConfirmAll_Yes%/l%","data-tchmi-is-enabled":!1},this.__parentControl),cancelButton=TcHmi.ControlFactory.createEx("TcHmi.Controls.Beckhoff.TcHmiButton",`${this.__parentControl.getId()}.${this.__name}.closeButton`,{"data-tchmi-height":30,"data-tchmi-width-mode":"Content","data-tchmi-min-width":60,"data-tchmi-text-padding":{left:7,right:7},"data-tchmi-text":"%l%Control::TcHmi.Controls.Beckhoff.TcHmiEventGrid::Button_Text_Cancel%/l%","data-tchmi-tooltip":"%l%Control::TcHmi.Controls.Beckhoff.TcHmiEventGrid::Button_Tooltip_ConfirmAll_Cancel%/l%"},this.__parentControl);if(!datagrid||!yesButton||!cancelButton)throw new Error("Could not create controls for ConfirmAllPopup.");this.__datagrid=datagrid,this.__yesButton=yesButton,this.__elementContent.appendChild(this.__datagrid.getElement()[0]),this.__elementFooter.appendChild(yesButton.getElement()[0]),this.__eventDestroyers.push(TcHmi.EventProvider.register(yesButton.getId()+".onPressed",()=>{for(let i=0,ii=this.__alarms.length;i<ii;i++)TcHmi.Server.Events.confirmAlarm(this.__alarms[i],data=>{data.error!==TcHmi.Errors.NONE&&TcHmi.Log.Controls.error(this.__parentControl,ConfirmAllPopup.#tchmiFQN,`Unable to confirm alarm with id ${this.__alarms[i].id} in domain ${this.__alarms[i].domain}. Error: ${TcHmi.Log.buildMessage(data.details)}`)});this.hide()})),this.__elementFooter.appendChild(cancelButton.getElement()[0]),this.__eventDestroyers.push(TcHmi.EventProvider.register(cancelButton.getId()+".onPressed",()=>this.hide()))}__alarms=[];__datagrid;__yesButton;__elementAlarmCount;destroy(){super.destroy(),this.__parentControl.__removeLocalizedElement(this.__elementAlarmCount)}update(alarms){this.__alarms=alarms,this.__parentControl.__removeLocalizedElement(this.__elementAlarmCount),this.__datagrid.setSrcData(this.__alarms),this.__yesButton.setIsEnabled(this.__alarms.length>0),1===this.__alarms.length?this.__parentControl.__addLocalizedElement(this.__elementAlarmCount,"Label_Text_ConfirmAll_Sure_Singular"):this.__parentControl.__addLocalizedElement(this.__elementAlarmCount,"Label_Text_ConfirmAll_Sure_Plural",this.__alarms.length),this.__elementContent.style.height=30*this.__alarms.length+70+"px"}getAlarms(){return this.__alarms}} |