Files
m.heisig 2d11c43579 Added minimal functionality for Robot teaching
- Added minimal HMI
- Added possibility to open and close all chamber doors
2026-01-17 09:20:39 +01:00

1 line
34 KiB
JavaScript

var __runInitializers=this&&this.__runInitializers||function(thisArg,initializers,value){for(var useValue=arguments.length>2,i=0;i<initializers.length;i++)value=useValue?initializers[i].call(thisArg,value):initializers[i].call(thisArg);return useValue?value:void 0},__esDecorate=this&&this.__esDecorate||function(ctor,descriptorIn,decorators,contextIn,initializers,extraInitializers){function accept(f){if(void 0!==f&&"function"!=typeof f)throw new TypeError("Function expected");return f}for(var _,kind=contextIn.kind,key="getter"===kind?"get":"setter"===kind?"set":"value",target=!descriptorIn&&ctor?contextIn.static?ctor:ctor.prototype:null,descriptor=descriptorIn||(target?Object.getOwnPropertyDescriptor(target,contextIn.name):{}),done=!1,i=decorators.length-1;i>=0;i--){var context={};for(var p in contextIn)context[p]="access"===p?{}:contextIn[p];for(var p in contextIn.access)context.access[p]=contextIn.access[p];context.addInitializer=function(f){if(done)throw new TypeError("Cannot add initializers after decoration has completed");extraInitializers.push(accept(f||null))};var result=(0,decorators[i])("accessor"===kind?{get:descriptor.get,set:descriptor.set}:descriptor[key],context);if("accessor"===kind){if(void 0===result)continue;if(null===result||"object"!=typeof result)throw new TypeError("Object expected");(_=accept(result.get))&&(descriptor.get=_),(_=accept(result.set))&&(descriptor.set=_),(_=accept(result.init))&&initializers.unshift(_)}else(_=accept(result))&&("field"===kind?initializers.unshift(_):descriptor[key]=_)}target&&Object.defineProperty(target,contextIn.name,descriptor),done=!0};import*as TcHmiTrendLineChart from"./TcHmiTrendLineChart.esm.js";import*as Helper from"./TcHmiTrendHelper.js";import{Control as TcHmiToggleButton}from"../TcHmiToggleButton/TcHmiToggleButton.esm.js";import{EditorFactory}from"../Helpers/TcHmiJsonEditors/EditorFactory.js";let Menubar=(()=>{var _a,_b,_c,_d,_e,_f;let ___onPressed_decorators,___onIsActiveChanged_decorators,___onValueChanged_decorators,___onOkPressed_decorators,___onCancelPressed_decorators,___onResetSettingsPressed_decorators,_instanceExtraInitializers=[];return class{static{const _metadata="function"==typeof Symbol&&Symbol.metadata?Object.create(null):void 0;___onPressed_decorators=[(_a=TcHmi).CallbackMethod.bind(_a)],___onIsActiveChanged_decorators=[(_b=TcHmi).CallbackMethod.bind(_b)],___onValueChanged_decorators=[(_c=TcHmi).CallbackMethod.bind(_c)],___onOkPressed_decorators=[(_d=TcHmi).CallbackMethod.bind(_d)],___onCancelPressed_decorators=[(_e=TcHmi).CallbackMethod.bind(_e)],___onResetSettingsPressed_decorators=[(_f=TcHmi).CallbackMethod.bind(_f)],__esDecorate(this,null,___onPressed_decorators,{kind:"method",name:"__onPressed",static:!1,private:!1,access:{has:obj=>"__onPressed"in obj,get:obj=>obj.__onPressed},metadata:_metadata},null,_instanceExtraInitializers),__esDecorate(this,null,___onIsActiveChanged_decorators,{kind:"method",name:"__onIsActiveChanged",static:!1,private:!1,access:{has:obj=>"__onIsActiveChanged"in obj,get:obj=>obj.__onIsActiveChanged},metadata:_metadata},null,_instanceExtraInitializers),__esDecorate(this,null,___onValueChanged_decorators,{kind:"method",name:"__onValueChanged",static:!1,private:!1,access:{has:obj=>"__onValueChanged"in obj,get:obj=>obj.__onValueChanged},metadata:_metadata},null,_instanceExtraInitializers),__esDecorate(this,null,___onOkPressed_decorators,{kind:"method",name:"__onOkPressed",static:!1,private:!1,access:{has:obj=>"__onOkPressed"in obj,get:obj=>obj.__onOkPressed},metadata:_metadata},null,_instanceExtraInitializers),__esDecorate(this,null,___onCancelPressed_decorators,{kind:"method",name:"__onCancelPressed",static:!1,private:!1,access:{has:obj=>"__onCancelPressed"in obj,get:obj=>obj.__onCancelPressed},metadata:_metadata},null,_instanceExtraInitializers),__esDecorate(this,null,___onResetSettingsPressed_decorators,{kind:"method",name:"__onResetSettingsPressed",static:!1,private:!1,access:{has:obj=>"__onResetSettingsPressed"in obj,get:obj=>obj.__onResetSettingsPressed},metadata:_metadata},null,_instanceExtraInitializers),_metadata&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:_metadata})}localePrefix=(__runInitializers(this,_instanceExtraInitializers),"Control::TcHmi.Controls.Beckhoff.TcHmiTrendLineChart::");constructor(trendlineChart){this.__trendlineChart=trendlineChart,this.__elementSettingsDialog=this.__trendlineChart.getTemplateRootElement().find(".TcHmi_Controls_Beckhoff_TcHmiTrendLineChart-settings-dialog"),this.__elementMenuBarDropdown=$('<div class="TcHmi_Controls_Beckhoff_TcHmiTrendLineChart-template-menu-bar-dropdown tchmi-box"></div>'),this.__menubar=$("<div></div>");let startList=tchmi_clone_object(this.__trendlineChart.getStartPresets())??[];startList.unshift({name:"%l%"+this.localePrefix+"Combobox_Data_Start%/l%",value:"First"});const mappedStartList=startList.map(item=>({text:item.name,value:item.value}));let startTextblock=$(`<label for='${this.__trendlineChart.getId()}_startCombobox'>Label_Start</label>`);this.__trendlineChart.__addLocalizedElement(startTextblock[0],"Label_Start");let startCombobox=TcHmi.ControlFactory.createEx("TcHmi.Controls.Beckhoff.TcHmiCombobox",`${this.__trendlineChart.getId()}_startCombobox`,{"data-tchmi-tooltip":"%l%"+this.localePrefix+"Combobox_Tooltip_Start%/l%","data-tchmi-text-font-size":11,"data-tchmi-allow-text-input":!0,"data-tchmi-src-data":mappedStartList},this.__trendlineChart);if(void 0===startCombobox)throw new Error("Needed Combobox could not be instantiated");{startCombobox.getElement()[0].classList.add("TcHmi_Controls_Beckhoff_TcHmiTrendLineChart-template-start-combobox","tchmi-trend-line-chart-template-start-combobox"),this.__menubar[0].appendChild(startTextblock[0]),this.__menubar[0].appendChild(startCombobox.getElement()[0]);let start=this.__trendlineChart.__start??"";"First"===start?startCombobox.setSelectedIndex(0):(Helper.isDatetime(start)&&(start=this.__trendlineChart.__moveUtcToTimeZone(start)),startCombobox.setText(start))}let timespanStart=TcHmi.ControlFactory.createEx("TcHmi.Controls.Beckhoff.TcHmiTimespanPicker",`${this.__trendlineChart.getId()}_timespanStart`,{"data-tchmi-visibility":"Collapsed"},this.__trendlineChart);if(void 0===timespanStart)throw new Error("Needed TimespanPicker could not be instantiated");timespanStart.getElement()[0].classList.add("TcHmi_Controls_Beckhoff_TcHmiTrendLineChart-template-timespan-picker-start","tchmi-trend-line-chart-template-timespan-picker-start"),this.__menubar[0].appendChild(timespanStart.getElement()[0]),this.__trendlineChart.__startDatatype===TcHmiTrendLineChart.Datatype.Timespan&&this.__trendlineChart.__start&&timespanStart.setValue(this.__trendlineChart.__start);let timespanButtonStart=TcHmi.ControlFactory.createEx("TcHmi.Controls.Beckhoff.TcHmiButton",`${this.__trendlineChart.getId()}_timespanButtonStart`,{"data-tchmi-tooltip":"%l%"+this.localePrefix+"Button_Tooltip_Start_Timespan%/l%"},this.__trendlineChart);if(void 0===timespanButtonStart)throw new Error("Needed Button could not be instantiated");timespanButtonStart.getElement()[0].classList.add("TcHmi_Controls_Beckhoff_TcHmiTrendLineChart-template-timespan-button-start","tchmi-trend-line-chart-template-timespan-button-start"),this.__menubar[0].appendChild(timespanButtonStart.getElement()[0]);let datetimeStart=TcHmi.ControlFactory.createEx("TcHmi.Controls.Beckhoff.TcHmiDateTimePicker",`${this.__trendlineChart.getId()}_datetimeStart`,{"data-tchmi-visibility":"Collapsed"},this.__trendlineChart);if(void 0===datetimeStart)throw new Error("Needed DateTimePicker could not be instantiated");datetimeStart.getElement()[0].classList.add("TcHmi_Controls_Beckhoff_TcHmiTrendLineChart-template-date-time-picker-start","tchmi-trend-line-chart-template-date-time-picker-start"),this.__menubar[0].appendChild(datetimeStart.getElement()[0]),this.__trendlineChart.__startDatatype===TcHmiTrendLineChart.Datatype.Datetime&&this.__trendlineChart.__start&&datetimeStart.setValue(this.__trendlineChart.__start);let datetimeButtonStart=TcHmi.ControlFactory.createEx("TcHmi.Controls.Beckhoff.TcHmiButton",`${this.__trendlineChart.getId()}_datetimeButtonStart`,{"data-tchmi-tooltip":"%l%"+this.localePrefix+"Button_Tooltip_Start_Datetime%/l%"},this.__trendlineChart);if(void 0===datetimeButtonStart)throw new Error("Needed Button could not be instantiated");datetimeButtonStart.getElement()[0].classList.add("TcHmi_Controls_Beckhoff_TcHmiTrendLineChart-template-datetime-button-start","tchmi-trend-line-chart-template-datetime-button-start"),this.__menubar[0].appendChild(datetimeButtonStart.getElement()[0]);let endTextblock=$(`<label for='${this.__trendlineChart.getId()}_endCombobox'>Label_End</label>`);this.__trendlineChart.__addLocalizedElement(endTextblock[0],"Label_End");let endList=tchmi_clone_object(this.__trendlineChart.getEndPresets())??[];endList.unshift({name:"%l%"+this.localePrefix+"Combobox_Data_End%/l%",value:"Latest"});const mappedEndList=endList.map(item=>({text:item.name,value:item.value}));let endCombobox=TcHmi.ControlFactory.createEx("TcHmi.Controls.Beckhoff.TcHmiCombobox",`${this.__trendlineChart.getId()}_endCombobox`,{"data-tchmi-tooltip":"%l%"+this.localePrefix+"Combobox_Tooltip_End%/l%","data-tchmi-text-font-size":11,"data-tchmi-allow-text-input":!0,"data-tchmi-src-data":mappedEndList},this.__trendlineChart);if(void 0===endCombobox)throw new Error("Needed Combobox could not be instantiated");{endCombobox.getElement()[0].classList.add("TcHmi_Controls_Beckhoff_TcHmiTrendLineChart-template-end-combobox","tchmi-trend-line-chart-template-end-combobox"),this.__menubar[0].appendChild(endTextblock[0]),this.__menubar[0].appendChild(endCombobox.getElement()[0]);let end=this.__trendlineChart.__end??"";"Latest"===end?endCombobox.setSelectedIndex(0):(Helper.isDatetime(end)&&(end=this.__trendlineChart.__moveUtcToTimeZone(end)),endCombobox.setText(end))}let timespanEnd=TcHmi.ControlFactory.createEx("TcHmi.Controls.Beckhoff.TcHmiTimespanPicker",`${this.__trendlineChart.getId()}_timespanEnd`,{"data-tchmi-visibility":"Collapsed"},this.__trendlineChart);if(void 0===timespanEnd)throw new Error("Needed TimespanPicker could not be instantiated");timespanEnd.getElement()[0].classList.add("TcHmi_Controls_Beckhoff_TcHmiTrendLineChart-template-timespan-picker-end","tchmi-trend-line-chart-template-timespan-picker-end"),this.__menubar[0].appendChild(timespanEnd.getElement()[0]),this.__trendlineChart.__endDatatype===TcHmiTrendLineChart.Datatype.Timespan&&this.__trendlineChart.__end&&timespanEnd.setValue(this.__trendlineChart.__end);let timespanButtonEnd=TcHmi.ControlFactory.createEx("TcHmi.Controls.Beckhoff.TcHmiButton",`${this.__trendlineChart.getId()}_timespanButtonEnd`,{"data-tchmi-tooltip":"%l%"+this.localePrefix+"Button_Tooltip_End_Timespan%/l%"},this.__trendlineChart);if(void 0===timespanButtonEnd)throw new Error("Needed Button could not be instantiated");timespanButtonEnd.getElement()[0].classList.add("TcHmi_Controls_Beckhoff_TcHmiTrendLineChart-template-timespan-button-end","tchmi-trend-line-chart-template-timespan-button-end"),this.__menubar[0].appendChild(timespanButtonEnd.getElement()[0]);let datetimeEnd=TcHmi.ControlFactory.createEx("TcHmi.Controls.Beckhoff.TcHmiDateTimePicker",`${this.__trendlineChart.getId()}_datetimeEnd`,{"data-tchmi-visibility":"Collapsed"},this.__trendlineChart);if(void 0===datetimeEnd)throw new Error("Needed DateTimePicker could not be instantiated");datetimeEnd.getElement()[0].classList.add("TcHmi_Controls_Beckhoff_TcHmiTrendLineChart-template-date-time-picker-end","tchmi-trend-line-chart-template-date-time-picker-end"),this.__menubar[0].appendChild(datetimeEnd.getElement()[0]),this.__trendlineChart.__endDatatype===TcHmiTrendLineChart.Datatype.Datetime&&this.__trendlineChart.__end&&datetimeEnd.setValue(this.__trendlineChart.__end);let datetimeButtonEnd=TcHmi.ControlFactory.createEx("TcHmi.Controls.Beckhoff.TcHmiButton",`${this.__trendlineChart.getId()}_datetimeButtonEnd`,{"data-tchmi-tooltip":"%l%"+this.localePrefix+"Button_Tooltip_End_Datetime%/l%"},this.__trendlineChart);if(void 0===datetimeButtonEnd)throw new Error("Needed Button could not be instantiated");datetimeButtonEnd.getElement()[0].classList.add("TcHmi_Controls_Beckhoff_TcHmiTrendLineChart-template-datetime-button-end","tchmi-trend-line-chart-template-datetime-button-end"),this.__menubar[0].appendChild(datetimeButtonEnd.getElement()[0]);let resetButton=TcHmi.ControlFactory.createEx("TcHmi.Controls.Beckhoff.TcHmiButton",`${this.__trendlineChart.getId()}_resetButton`,{"data-tchmi-tooltip":"%l%"+this.localePrefix+"Button_Tooltip_Play%/l%","data-tchmi-is-enabled":!1},this.__trendlineChart);if(void 0===resetButton)throw new Error("Needed Button could not be instantiated");resetButton.getElement()[0].classList.add("TcHmi_Controls_Beckhoff_TcHmiTrendLineChart-template-reset","tchmi-trend-line-chart-template-reset"),this.__menubar[0].appendChild(resetButton.getElement()[0]);let stopButton=TcHmi.ControlFactory.createEx("TcHmi.Controls.Beckhoff.TcHmiButton",`${this.__trendlineChart.getId()}_stopButton`,{"data-tchmi-tooltip":"%l%"+this.localePrefix+"Button_Tooltip_Pause%/l%","data-tchmi-is-enabled":!1},this.__trendlineChart);if(void 0===stopButton)throw new Error("Needed Button could not be instantiated");stopButton.getElement()[0].classList.add("TcHmi_Controls_Beckhoff_TcHmiTrendLineChart-template-stop","tchmi-trend-line-chart-template-stop"),this.__menubar[0].appendChild(stopButton.getElement()[0]);let panxButton=TcHmi.ControlFactory.createEx("TcHmi.Controls.Beckhoff.TcHmiToggleButton",`${this.__trendlineChart.getId()}_panxButton`,{"data-tchmi-is-enabled":!1,"data-tchmi-tooltip":"%l%"+this.localePrefix+"Button_Tooltip_PanX%/l%"},this.__trendlineChart);if(void 0===panxButton)throw new Error("Needed ToggleButton could not be instantiated");panxButton.getElement()[0].classList.add("TcHmi_Controls_Beckhoff_TcHmiTrendLineChart-template-panx","tchmi-trend-line-chart-template-panx"),this.__menubar[0].appendChild(panxButton.getElement()[0]);let panxyButton=TcHmi.ControlFactory.createEx("TcHmi.Controls.Beckhoff.TcHmiToggleButton",`${this.__trendlineChart.getId()}_panxyButton`,{"data-tchmi-is-enabled":!1,"data-tchmi-tooltip":"%l%"+this.localePrefix+"Button_Tooltip_PanXY%/l%"},this.__trendlineChart);if(void 0===panxyButton)throw new Error("Needed ToggleButton could not be instantiated");panxyButton.getElement()[0].classList.add("TcHmi_Controls_Beckhoff_TcHmiTrendLineChart-template-panxy","tchmi-trend-line-chart-template-panxy"),this.__menubar[0].appendChild(panxyButton.getElement()[0]);let zoomxButton=TcHmi.ControlFactory.createEx("TcHmi.Controls.Beckhoff.TcHmiToggleButton",`${this.__trendlineChart.getId()}_zoomxButton`,{"data-tchmi-is-enabled":!1,"data-tchmi-tooltip":"%l%"+this.localePrefix+"Button_Tooltip_ZoomX%/l%"},this.__trendlineChart);if(void 0===zoomxButton)throw new Error("Needed ToggleButton could not be instantiated");zoomxButton.getElement()[0].classList.add("TcHmi_Controls_Beckhoff_TcHmiTrendLineChart-template-zoomx","tchmi-trend-line-chart-template-zoomx"),this.__menubar[0].appendChild(zoomxButton.getElement()[0]);let zoomxyButton=TcHmi.ControlFactory.createEx("TcHmi.Controls.Beckhoff.TcHmiToggleButton",`${this.__trendlineChart.getId()}_zoomxyButton`,{"data-tchmi-is-enabled":!1,"data-tchmi-tooltip":"%l%"+this.localePrefix+"Button_Tooltip_ZoomXY%/l%"},this.__trendlineChart);if(void 0===zoomxyButton)throw new Error("Needed ToggleButton could not be instantiated");zoomxyButton.getElement()[0].classList.add("TcHmi_Controls_Beckhoff_TcHmiTrendLineChart-template-zoomxy","tchmi-trend-line-chart-template-zoomxy"),this.__menubar[0].appendChild(zoomxyButton.getElement()[0]);let resetZoomButton=TcHmi.ControlFactory.createEx("TcHmi.Controls.Beckhoff.TcHmiButton",`${this.__trendlineChart.getId()}_resetZoomButton`,{"data-tchmi-tooltip":"%l%"+this.localePrefix+"Button_Tooltip_ResetZoomPan%/l%","data-tchmi-is-enabled":!1},this.__trendlineChart);if(void 0===resetZoomButton)throw new Error("Needed Button could not be instantiated");resetZoomButton.getElement()[0].classList.add("TcHmi_Controls_Beckhoff_TcHmiTrendLineChart-template-reset-zoom","tchmi-trend-line-chart-template-reset-zoom"),this.__menubar[0].appendChild(resetZoomButton.getElement()[0]);let settingsButton=TcHmi.ControlFactory.createEx("TcHmi.Controls.Beckhoff.TcHmiButton",`${this.__trendlineChart.getId()}_settingsButton`,{"data-tchmi-tooltip":"%l%"+this.localePrefix+"Button_Tooltip_Settings%/l%","data-tchmi-is-enabled":!1,"data-tchmi-virtual-control-right-mappings":this.__trendlineChart.__virtualMappingForControlRecord},this.__trendlineChart);if(void 0===settingsButton)throw new Error("Needed Button could not be instantiated");settingsButton.getElement()[0].classList.add("TcHmi_Controls_Beckhoff_TcHmiTrendLineChart-template-settings","tchmi-trend-line-chart-template-settings"),this.__menubar[0].appendChild(settingsButton.getElement()[0]);let showStatisticalDataToggleButton=TcHmi.ControlFactory.createEx("TcHmi.Controls.Beckhoff.TcHmiToggleButton",`${this.__trendlineChart.getId()}_showStatisticalDataToggleButton`,{"data-tchmi-tooltip":"%l%"+this.localePrefix+"Button_Tooltip_ShowStatisticalData%/l%","data-tchmi-is-enabled":!1,"data-tchmi-toggle-state":this.__trendlineChart.getShowStatisticalData()?"Active":"Normal"},this.__trendlineChart);if(void 0===showStatisticalDataToggleButton)throw new Error("Needed ToggleButton could not be instantiated");showStatisticalDataToggleButton.getElement()[0].classList.add("TcHmi_Controls_Beckhoff_TcHmiTrendLineChart-template-statistical-data-button","tchmi-trend-line-chart-template-statistical-data-button"),this.__menubar[0].appendChild(showStatisticalDataToggleButton.getElement()[0]);let optionsButton=TcHmi.ControlFactory.createEx("TcHmi.Controls.Beckhoff.TcHmiButton",`${this.__trendlineChart.getId()}_optionsButton`,{"data-tchmi-visibility":"Collapsed"},this.__trendlineChart);if(void 0===optionsButton)throw new Error("Needed Button could not be instantiated");optionsButton.getElement()[0].classList.add("TcHmi_Controls_Beckhoff_TcHmiTrendLineChart-template-options","tchmi-trend-line-chart-template-options"),this.__menubar[0].appendChild(optionsButton.getElement()[0]),this.__menuBarControls={startCombobox,startTimespanPicker:timespanStart,startTimespanButton:timespanButtonStart,startDateTimePicker:datetimeStart,startDateTimeButton:datetimeButtonStart,endCombobox,endTimespanPicker:timespanEnd,endTimespanButton:timespanButtonEnd,endDateTimePicker:datetimeEnd,endDateTimeButton:datetimeButtonEnd,resetButton,stopButton,panXToggleButton:panxButton,panXYToggleButton:panxyButton,zoomXToggleButton:zoomxButton,zoomXYToggleButton:zoomxyButton,resetZoomButton,settingsButton,showStatisticalDataToggleButton,optionsButton},this.__addMenubarEvents();let searchId=`${this.__trendlineChart.getId()}_panxButton`;TcHmiTrendLineChart.MouseMode[this.__trendlineChart.getMouseMode()||"None"]===TcHmiTrendLineChart.MouseMode.PanXY?searchId=`${this.__trendlineChart.getId()}_panxyButton`:TcHmiTrendLineChart.MouseMode[this.__trendlineChart.getMouseMode()||"None"]===TcHmiTrendLineChart.MouseMode.ZoomX?searchId=`${this.__trendlineChart.getId()}_zoomxButton`:TcHmiTrendLineChart.MouseMode[this.__trendlineChart.getMouseMode()||"None"]===TcHmiTrendLineChart.MouseMode.ZoomXY&&(searchId=`${this.__trendlineChart.getId()}_zoomxyButton`);for(const control of Object.values(this.__menuBarControls))control instanceof TcHmiToggleButton&&control!==showStatisticalDataToggleButton&&(control.setToggleGroup(`${this.__trendlineChart.getId()}.interactions`),control.getId()===searchId&&control.setToggleState("Active"))}__trendlineChart;__elementMenuBarDropdown;__menuBarControls=null;__menubar;__lineGraphDescriptionsEditor=null;__elementSettingsDialog;__destroyEvents={};destroy(){for(const destroyEvent of Object.values(this.__destroyEvents))destroyEvent?.();this.__destroyEvents={}}__addMenubarEvents(){this.__menuBarControls&&(this.__destroyEvents.StopButtonPressed=TcHmi.EventProvider.register(this.__trendlineChart.getId()+"_stopButton.onPressed",this.__onPressed),this.__destroyEvents.TimespanButtonStartPressed=TcHmi.EventProvider.register(this.__trendlineChart.getId()+"_timespanButtonStart.onPressed",this.__onPressed),this.__destroyEvents.DatetimeButtonStartPressed=TcHmi.EventProvider.register(this.__trendlineChart.getId()+"_datetimeButtonStart.onPressed",this.__onPressed),this.__destroyEvents.TimespanButtonEndPressed=TcHmi.EventProvider.register(this.__trendlineChart.getId()+"_timespanButtonEnd.onPressed",this.__onPressed),this.__destroyEvents.DatetimeButtonEndPressed=TcHmi.EventProvider.register(this.__trendlineChart.getId()+"_datetimeButtonEnd.onPressed",this.__onPressed),this.__destroyEvents.PanXButtonStateChanged=TcHmi.EventProvider.register(this.__trendlineChart.getId()+"_panxButton.onStateChanged",this.__onIsActiveChanged),this.__destroyEvents.PanXYButtonStateChanged=TcHmi.EventProvider.register(this.__trendlineChart.getId()+"_panxyButton.onStateChanged",this.__onIsActiveChanged),this.__destroyEvents.ZoomXButtonStateChanged=TcHmi.EventProvider.register(this.__trendlineChart.getId()+"_zoomxButton.onStateChanged",this.__onIsActiveChanged),this.__destroyEvents.ZoomXYButtonStateChanged=TcHmi.EventProvider.register(this.__trendlineChart.getId()+"_zoomxyButton.onStateChanged",this.__onIsActiveChanged),this.__destroyEvents.ShowStatisticalDataToggleButtonStateChanged=TcHmi.EventProvider.register(this.__trendlineChart.getId()+"_showStatisticalDataToggleButton.onStateChanged",this.__onIsActiveChanged),this.__destroyEvents.ResetZoomButtonPressed=TcHmi.EventProvider.register(this.__trendlineChart.getId()+"_resetZoomButton.onPressed",this.__onPressed),this.__destroyEvents.ResetButtonPressed=TcHmi.EventProvider.register(this.__trendlineChart.getId()+"_resetButton.onPressed",this.__onPressed),this.__destroyEvents.SettingsButtonPressed=TcHmi.EventProvider.register(this.__trendlineChart.getId()+"_settingsButton.onPressed",this.__onPressed),this.__destroyEvents.OptionsButtonPressed=TcHmi.EventProvider.register(this.__trendlineChart.getId()+"_optionsButton.onPressed",this.__onPressed),this.__menuBarControls&&(this.__destroyEvents.StartComboboxUserInteractionFinished=TcHmi.EventProvider.register(this.__menuBarControls.startCombobox.getId()+".onUserInteractionFinished",this.__getTimeComboboxHandler(this.__menuBarControls.startCombobox,value=>this.__trendlineChart.setStart(value))),this.__destroyEvents.EndComboboxUserInteractionFinished=TcHmi.EventProvider.register(this.__menuBarControls.endCombobox.getId()+".onUserInteractionFinished",this.__getTimeComboboxHandler(this.__menuBarControls.endCombobox,value=>this.__trendlineChart.setEnd(value)))),this.__destroyEvents.DatetimeEndConfirmed=TcHmi.EventProvider.register(this.__trendlineChart.getId()+"_datetimeEnd.onConfirmed",this.__onValueChanged),this.__destroyEvents.DatetimeStartConfirmed=TcHmi.EventProvider.register(this.__trendlineChart.getId()+"_datetimeStart.onConfirmed",this.__onValueChanged),this.__destroyEvents.TimespanEndConfirmed=TcHmi.EventProvider.register(this.__trendlineChart.getId()+"_timespanEnd.onValueChanged",this.__onValueChanged),this.__destroyEvents.TimespanStartConfirmed=TcHmi.EventProvider.register(this.__trendlineChart.getId()+"_timespanStart.onValueChanged",this.__onValueChanged))}__onPressed(event){null!==this.__elementMenuBarDropdown[0].parentElement&&this.showOptions(),event.name.includes("stop")?this.__trendlineChart.stop():event.name.includes("resetZoom")?this.__trendlineChart.resetZoom():event.name.includes("reset")?this.__trendlineChart.reset():event.name.includes("options")?this.showOptions():event.name.includes("timespanButtonStart")?this.__menuBarControls?.startTimespanPicker.openTimespanPicker():event.name.includes("datetimeButtonStart")?this.__menuBarControls?.startDateTimePicker.openDateTimePicker():event.name.includes("timespanButtonEnd")?this.__menuBarControls?.endTimespanPicker.openTimespanPicker():event.name.includes("datetimeButtonEnd")?this.__menuBarControls?.endDateTimePicker.openDateTimePicker():event.name.includes("settings")&&this.openSettingsPopup()}__onIsActiveChanged(event){if(event.name.includes("showStatisticalData"))return this.__trendlineChart.setShowStatisticalData("Active"===this.__menuBarControls?.showStatisticalDataToggleButton.getToggleState()),void this.removeElementFromTopMostLayer();let isMouseModeActive=!1;"Active"===this.__menuBarControls?.panXToggleButton.getToggleState()?(this.__trendlineChart.setMouseMode(TcHmiTrendLineChart.MouseMode.PanX),isMouseModeActive=!0):"Active"===this.__menuBarControls?.panXYToggleButton.getToggleState()?(this.__trendlineChart.setMouseMode(TcHmiTrendLineChart.MouseMode.PanXY),isMouseModeActive=!0):"Active"===this.__menuBarControls?.zoomXToggleButton.getToggleState()?(this.__trendlineChart.setMouseMode(TcHmiTrendLineChart.MouseMode.ZoomX),isMouseModeActive=!0):"Active"===this.__menuBarControls?.zoomXYToggleButton.getToggleState()&&(this.__trendlineChart.setMouseMode(TcHmiTrendLineChart.MouseMode.ZoomXY),isMouseModeActive=!0),null!==this.__elementMenuBarDropdown[0].parentElement&&this.showOptions(),isMouseModeActive?TcHmi.EventProvider.raise(this.__trendlineChart.getId()+".onPropertyChanged",{propertyName:"MouseMode"}):this.__menuBarControls&&(this.__trendlineChart.setMouseMode(TcHmiTrendLineChart.MouseMode.PanX),TcHmi.EventProvider.raise(this.__trendlineChart.getId()+".onPropertyChanged",{propertyName:"MouseMode"}),this.__menuBarControls.panXToggleButton.setToggleState("Active"),null!==this.__elementMenuBarDropdown[0].parentElement&&this.showOptions())}__onValueChanged(event){!this.__trendlineChart.__nowIsValueChanged&&this.__menuBarControls&&(event.name.includes("timespanStart")?(this.__trendlineChart.__nowIsValueChanged=!0,this.__trendlineChart.setStart(this.__menuBarControls.startTimespanPicker.getValue())):event.name.includes("datetimeStart")?(this.__trendlineChart.__nowIsValueChanged=!0,this.__trendlineChart.setStart(this.__menuBarControls.startDateTimePicker.getValue())):event.name.includes("timespanEnd")?(this.__trendlineChart.__nowIsValueChanged=!0,this.__trendlineChart.setEnd(this.__menuBarControls.endTimespanPicker.getValue())):event.name.includes("datetimeEnd")&&(this.__trendlineChart.__nowIsValueChanged=!0,this.__trendlineChart.setEnd(this.__menuBarControls.endDateTimePicker.getValue())),this.__trendlineChart.__nowIsValueChanged=!1)}__onOkPressed(_event){let editorState=this.__lineGraphDescriptionsEditor?.getState();editorState?.isValid&&(this.__trendlineChart.__lineGraphDescriptionsOverride=editorState.value,this.__trendlineChart.__storage?.set("lineGraphDescriptions",editorState.value),this.__trendlineChart.__processLineGraphDescriptions(),TcHmi.TopMostLayer.remove(this.__trendlineChart,this.__elementSettingsDialog))}__onCancelPressed(_event){this.__lineGraphDescriptionsEditor?.setValue(this.__trendlineChart.getLineGraphDescriptions()??null),TcHmi.TopMostLayer.remove(this.__trendlineChart,this.__elementSettingsDialog)}__onResetSettingsPressed(_event){this.__trendlineChart.__lineGraphDescriptionsOverride=null,this.__trendlineChart.__processLineGraphDescriptions(),this.__trendlineChart.__storage?.delete("lineGraphDescriptions"),TcHmi.TopMostLayer.remove(this.__trendlineChart,this.__elementSettingsDialog)}__getTimeComboboxHandler(combobox,action){return event=>{if(this.__menuBarControls){let value=combobox.getSelectedValue()??combobox.getText();value=value||null,Helper.isDatetime(value)&&(value=this.__trendlineChart.__moveTimeZoneToUtc(value)),action(value)}}}openSettingsPopup(){if(!this.__lineGraphDescriptionsEditor){try{this.__lineGraphDescriptionsEditor=new EditorFactory({parentControl:this.__trendlineChart,factorySettings:{preferPanes:"FirstLevel"},editorSettings:{historizedSymbolEditor:{domain:this.__trendlineChart.getResolvedServerDomain()}}}).fromType("tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTrendLineChart.ChartLineGraphDescriptionDefinitionList",this.__elementSettingsDialog.find(".TcHmi_Controls_Beckhoff_TcHmiTrendLineChart-settings-dialog-lineGraphDescription-editor")[0])}catch(ex){ex instanceof TcHmi.Exception&&ex.log({Source:"Control",Module:this.__trendlineChart.getType(),Origin:"TcHmi.Controls.Beckhoff.TcHmiTrendLineChartHelper.Menubar",Id:this.__trendlineChart.getId()})}this.__lineGraphDescriptionsEditor?.setValue(this.__trendlineChart.getLineGraphDescriptions()??null),this.__destroyEvents.OkButtonPressed=TcHmi.EventProvider.register(this.__trendlineChart.getId()+".okButton.onPressed",this.__onOkPressed),this.__destroyEvents.CancelButtonPressed=TcHmi.EventProvider.register(this.__trendlineChart.getId()+".cancelButton.onPressed",this.__onCancelPressed),this.__destroyEvents.ResetSettingsButtonPressed=TcHmi.EventProvider.register(this.__trendlineChart.getId()+".resetSettingsButton.onPressed",this.__onResetSettingsPressed),this.__destroyEvents.ServerDomainChanged=TcHmi.EventProvider.register(this.__trendlineChart.getId()+".onPropertyChanged<ServerDomain>",()=>{this.__lineGraphDescriptionsEditor?.setSettings({historizedSymbolEditor:{domain:this.__trendlineChart.getResolvedServerDomain()}})})}TcHmi.TopMostLayer.add(this.__trendlineChart,this.__elementSettingsDialog,{centerHorizontal:!0,centerVertical:!0,closeOnBackground:!1})}showOptions(){null===this.__elementMenuBarDropdown[0].parentElement?TcHmi.TopMostLayer.add(this.__trendlineChart,this.__elementMenuBarDropdown,{centerHorizontal:!0,centerVertical:!0}):TcHmi.TopMostLayer.remove(this.__trendlineChart,this.__elementMenuBarDropdown)}removeElementFromTopMostLayer(){TcHmi.TopMostLayer.remove(this.__trendlineChart,this.__elementMenuBarDropdown)}calcMenuButtons(){if(!this.__menuBarControls)return;this.__elementMenuBarDropdown.children().detach();for(const control of Object.values(this.__menuBarControls))this.__trendlineChart.getMenuBarElement()[0].contains(control.getElement()[0])||this.__trendlineChart.getMenuBarElement().children().first()[0].insertBefore(control.getElement()[0],this.__trendlineChart.getMenuBarElement().children().children().last()[0]);let menuBarWidth=this.__trendlineChart.getMenuBarElement().width(),summatedButtonSizes=this.__trendlineChart.getMenuBarElement().children().children().last().width()||0,elementsInTopMostLayer=0,allFutherInTopMostLayer=!1;for(let i=0,ii=this.__trendlineChart.getMenuBarElement().children().children().length-1;i<ii;i++){const elem=this.__trendlineChart.getMenuBarElement().children().children()[i-elementsInTopMostLayer];if(!elem.id.includes("options")){summatedButtonSizes+=$(elem).outerWidth(!0),(summatedButtonSizes>=menuBarWidth||allFutherInTopMostLayer)&&(this.__elementMenuBarDropdown[0].appendChild(elem),elementsInTopMostLayer++,allFutherInTopMostLayer=!0)}}this.__elementMenuBarDropdown[0].childElementCount>0?this.__menuBarControls.optionsButton.setVisibility("Visible"):this.__menuBarControls.optionsButton.setVisibility("Collapsed")}getMenubar(){return this.__menubar}setActiveToggleButton(mouseMode){mouseMode===TcHmiTrendLineChart.MouseMode.PanX&&this.__menubar?this.__menuBarControls?.panXToggleButton.setToggleState("Active"):mouseMode===TcHmiTrendLineChart.MouseMode.PanXY&&this.__menubar?this.__menuBarControls?.panXYToggleButton.setToggleState("Active"):mouseMode===TcHmiTrendLineChart.MouseMode.ZoomX&&this.__menubar?this.__menuBarControls?.zoomXToggleButton.setToggleState("Active"):mouseMode===TcHmiTrendLineChart.MouseMode.ZoomXY&&this.__menubar?this.__menuBarControls?.zoomXYToggleButton.setToggleState("Active"):this.__menuBarControls?.panXToggleButton.setToggleState("Active")}getActiveToggleButton(){return"Active"===this.__menuBarControls?.panXToggleButton.getToggleState()?this.__menuBarControls?.panXToggleButton:"Active"===this.__menuBarControls?.panXYToggleButton.getToggleState()?this.__menuBarControls?.panXYToggleButton:"Active"===this.__menuBarControls?.zoomXToggleButton.getToggleState()?this.__menuBarControls?.zoomXToggleButton:"Active"===this.__menuBarControls?.zoomXYToggleButton.getToggleState()?this.__menuBarControls?.zoomXYToggleButton:null}getMenubarControls(){return this.__menuBarControls}setMenubarButtonsEnabled(enableMenubarControls){this.__menuBarControls?.startCombobox.setIsEnabled(enableMenubarControls.startCombobox),this.__menuBarControls?.startTimespanPicker.setIsEnabled(enableMenubarControls.startTimespanPicker),this.__menuBarControls?.startTimespanButton.setIsEnabled(enableMenubarControls.startTimespanButton),this.__menuBarControls?.startDateTimePicker.setIsEnabled(enableMenubarControls.startDateTimePicker),this.__menuBarControls?.startDateTimeButton.setIsEnabled(enableMenubarControls.startDateTimeButton),this.__menuBarControls?.endCombobox.setIsEnabled(enableMenubarControls.endCombobox),this.__menuBarControls?.endTimespanPicker.setIsEnabled(enableMenubarControls.endTimespanPicker),this.__menuBarControls?.endTimespanButton.setIsEnabled(enableMenubarControls.endTimespanButton),this.__menuBarControls?.endDateTimePicker.setIsEnabled(enableMenubarControls.endDateTimePicker),this.__menuBarControls?.endDateTimeButton.setIsEnabled(enableMenubarControls.endDateTimeButton),this.__menuBarControls?.resetButton.setIsEnabled(enableMenubarControls.resetButton),this.__menuBarControls?.stopButton.setIsEnabled(enableMenubarControls.stopButton),this.__menuBarControls?.panXToggleButton.setIsEnabled(enableMenubarControls.panXToggleButton),this.__menuBarControls?.panXYToggleButton.setIsEnabled(enableMenubarControls.panXYToggleButton),this.__menuBarControls?.zoomXToggleButton.setIsEnabled(enableMenubarControls.zoomXToggleButton),this.__menuBarControls?.zoomXYToggleButton.setIsEnabled(enableMenubarControls.zoomXYToggleButton),this.__menuBarControls?.resetZoomButton.setIsEnabled(enableMenubarControls.resetZoomButton),this.__menuBarControls?.settingsButton.setIsEnabled(enableMenubarControls.settingsButton),this.__menuBarControls?.showStatisticalDataToggleButton.setIsEnabled(enableMenubarControls.showStatisticalDataToggleButton),this.__menuBarControls?.optionsButton.setIsEnabled(enableMenubarControls.optionsButton),null===this.getActiveToggleButton()&&this.setActiveToggleButton(TcHmiTrendLineChart.MouseMode.None)}updateSrcDataStart(){let startList=tchmi_clone_object(this.__trendlineChart.getStartPresets())??[];startList.unshift({name:"%l%"+this.localePrefix+"Combobox_Data_Start%/l%",value:"First"});const mappedStartList=startList.map(item=>({text:item.name,value:item.value}));this.__menuBarControls?.startCombobox.setSrcData(mappedStartList)}updateSrcDataEnd(){let endList=tchmi_clone_object(this.__trendlineChart.getEndPresets())??[];endList.unshift({name:"%l%"+this.localePrefix+"Combobox_Data_End%/l%",value:"Latest"});const mappedEndList=endList.map(item=>({text:item.name,value:item.value}));this.__menuBarControls?.endCombobox.setSrcData(mappedEndList)}setStatisticalDataToggleButtonToggleState(state){this.__menuBarControls?.showStatisticalDataToggleButton.setToggleState(state?"Active":"Normal")}}})();export{Menubar};