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
23 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{TcHmiControl}from"Beckhoff.TwinCAT.HMI.Framework/index.esm.js";let TcHmiVideo=(()=>{var _a;let ___onResized_decorators,___onLoadedData_decorators,___onError_decorators,___onVolumeChange_decorators,___onDurationChange_decorators,___onEnded_decorators,___onPlayingChange_decorators,___onRateChange_decorators,___onTimeUpdate_decorators,___onResolverForSrcListWatchCallback_decorators,_classSuper=TcHmiControl.Control,_instanceExtraInitializers=[];return class TcHmiVideo extends _classSuper{static{const _metadata="function"==typeof Symbol&&Symbol.metadata?Object.create(_classSuper[Symbol.metadata]??null):void 0;___onResized_decorators=[TcHmi.EventHandler()],___onLoadedData_decorators=[TcHmi.EventHandler()],___onError_decorators=[TcHmi.EventHandler()],___onVolumeChange_decorators=[TcHmi.EventHandler()],___onDurationChange_decorators=[TcHmi.EventHandler()],___onEnded_decorators=[TcHmi.EventHandler()],___onPlayingChange_decorators=[TcHmi.EventHandler()],___onRateChange_decorators=[TcHmi.EventHandler()],___onTimeUpdate_decorators=[TcHmi.EventHandler()],___onResolverForSrcListWatchCallback_decorators=[(_a=TcHmi).CallbackMethod.bind(_a)],__esDecorate(this,null,___onResized_decorators,{kind:"method",name:"__onResized",static:!1,private:!1,access:{has:obj=>"__onResized"in obj,get:obj=>obj.__onResized},metadata:_metadata},null,_instanceExtraInitializers),__esDecorate(this,null,___onLoadedData_decorators,{kind:"method",name:"__onLoadedData",static:!1,private:!1,access:{has:obj=>"__onLoadedData"in obj,get:obj=>obj.__onLoadedData},metadata:_metadata},null,_instanceExtraInitializers),__esDecorate(this,null,___onError_decorators,{kind:"method",name:"__onError",static:!1,private:!1,access:{has:obj=>"__onError"in obj,get:obj=>obj.__onError},metadata:_metadata},null,_instanceExtraInitializers),__esDecorate(this,null,___onVolumeChange_decorators,{kind:"method",name:"__onVolumeChange",static:!1,private:!1,access:{has:obj=>"__onVolumeChange"in obj,get:obj=>obj.__onVolumeChange},metadata:_metadata},null,_instanceExtraInitializers),__esDecorate(this,null,___onDurationChange_decorators,{kind:"method",name:"__onDurationChange",static:!1,private:!1,access:{has:obj=>"__onDurationChange"in obj,get:obj=>obj.__onDurationChange},metadata:_metadata},null,_instanceExtraInitializers),__esDecorate(this,null,___onEnded_decorators,{kind:"method",name:"__onEnded",static:!1,private:!1,access:{has:obj=>"__onEnded"in obj,get:obj=>obj.__onEnded},metadata:_metadata},null,_instanceExtraInitializers),__esDecorate(this,null,___onPlayingChange_decorators,{kind:"method",name:"__onPlayingChange",static:!1,private:!1,access:{has:obj=>"__onPlayingChange"in obj,get:obj=>obj.__onPlayingChange},metadata:_metadata},null,_instanceExtraInitializers),__esDecorate(this,null,___onRateChange_decorators,{kind:"method",name:"__onRateChange",static:!1,private:!1,access:{has:obj=>"__onRateChange"in obj,get:obj=>obj.__onRateChange},metadata:_metadata},null,_instanceExtraInitializers),__esDecorate(this,null,___onTimeUpdate_decorators,{kind:"method",name:"__onTimeUpdate",static:!1,private:!1,access:{has:obj=>"__onTimeUpdate"in obj,get:obj=>obj.__onTimeUpdate},metadata:_metadata},null,_instanceExtraInitializers),__esDecorate(this,null,___onResolverForSrcListWatchCallback_decorators,{kind:"method",name:"__onResolverForSrcListWatchCallback",static:!1,private:!1,access:{has:obj=>"__onResolverForSrcListWatchCallback"in obj,get:obj=>obj.__onResolverForSrcListWatchCallback},metadata:_metadata},null,_instanceExtraInitializers),_metadata&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:_metadata})}static#tchmiFQN="TcHmi.Controls.Beckhoff."+this.name;constructor(element,pcElement,attrs){super(element,pcElement,attrs)}__elementTemplateRoot=__runInitializers(this,_instanceExtraInitializers);__elementBorder;__elementFocusBorder;__elemVideo;__srcList;__controls;__volume;__autoplay;__mute;__loop;__poster;__playbackrate;__duration=0;__currentTime=0;__runtimeWidthNeededForHeight=!1;__runtimeHeightNeededForWidth=!1;__onResizedEventDestroyEvent=null;__previnit(){this.__elementTemplateRoot=this.__element.find(".TcHmi_Controls_Beckhoff_TcHmiVideo-template"),0===this.__elementTemplateRoot.length&&(this.__elementTemplateRoot=this.__element.find(".tchmi-video-template")),this.__elementBorder=this.__elementTemplateRoot.find(".TcHmi_Controls_Beckhoff_TcHmiVideo-template-border"),0===this.__elementBorder.length&&(this.__elementBorder=this.__elementTemplateRoot.find(".tchmi-video-template-border")),this.__elementFocusBorder=this.__elementTemplateRoot.find(".TcHmi_Controls_Beckhoff_TcHmiVideo-template-focus-border"),0===this.__elementFocusBorder.length&&(this.__elementFocusBorder=this.__elementTemplateRoot.find(".tchmi-video-template-focus-border"));let elemVideo=this.__elementTemplateRoot.find(".TcHmi_Controls_Beckhoff_TcHmiVideo-template-content");if(0===elemVideo.length&&(elemVideo=this.__elementTemplateRoot.find(".tchmi-video-template-content")),0===this.__elementTemplateRoot.length||0===this.__elementBorder.length||0===this.__elementFocusBorder.length||0===elemVideo.length)throw new Error("Invalid Template.html");this.__elemVideo=elemVideo[0],super.__previnit()}__init(){super.__init();const passiveEventOptions={passive:!0,capture:!1};this.__destroyOnDestroy.push(TcHmi.EventProvider.registerDomEvent(this.__elemVideo,"loadeddata",this.__onLoadedData,passiveEventOptions),TcHmi.EventProvider.registerDomEvent(this.__elemVideo,"error",this.__onError,passiveEventOptions),TcHmi.EventProvider.registerDomEvent(this.__elemVideo,"volumechange",this.__onVolumeChange,passiveEventOptions),TcHmi.EventProvider.registerDomEvent(this.__elemVideo,"ratechange",this.__onRateChange,passiveEventOptions),TcHmi.EventProvider.registerDomEvent(this.__elemVideo,"durationchange",this.__onDurationChange,passiveEventOptions),TcHmi.EventProvider.registerDomEvent(this.__elemVideo,"timeupdate",this.__onTimeUpdate,passiveEventOptions),TcHmi.EventProvider.registerDomEvent(this.__elemVideo,"ended",this.__onEnded,passiveEventOptions),TcHmi.EventProvider.registerDomEvent(this.__elemVideo,"playing",this.__onPlayingChange,passiveEventOptions),TcHmi.EventProvider.registerDomEvent(this.__elemVideo,"pause",this.__onPlayingChange,passiveEventOptions))}__attach(){super.__attach(),this.__processControls(),TcHmi.Access.checkAccess(this,"observe")&&this.getIsEnabled()&&this.__elemVideo.load()}__detach(){super.__detach(),null!==this.__onResizedEventDestroyEvent&&(this.__onResizedEventDestroyEvent(),this.__onResizedEventDestroyEvent=null)}destroy(){this.__keepAlive||super.destroy()}__onResized(event,ctrl){this.__asyncWorkData["System.TcHmiVideo.resized"]=!0,this.__requestAsyncWork()}__doAsyncWork(timestamp){super.__doAsyncWork(timestamp),this.__asyncWorkData["System.TcHmiVideo.resized"]&&(this.__asyncWorkData["System.TcHmiVideo.resized"]=!1,this.__runtimeHeightNeededForWidth?this.__processWidth():this.__runtimeWidthNeededForHeight&&this.__processHeight())}__processWidth(){if("Content"===this.getWidthMode()){let newWidthStr="";const contentPixelSize=this.__getContentWidth();null!==contentPixelSize&&(newWidthStr=contentPixelSize.toFixed(3)+"px"),TcHmi.StyleProvider.setSimpleElementStyle(this.__element,"width",newWidthStr)}super.__processWidth(),"Content"===this.getHeightMode()&&"Content"!==this.getWidthMode()&&this.__processHeight()}__processHeight(){if("Content"===this.getHeightMode()){this.__intHeight=null;const contentPixelSize=this.__getContentHeight();null!==contentPixelSize&&(this.__intHeight=contentPixelSize.toFixed(3)+"px")}super.__processHeight(),"Content"===this.getWidthMode()&&"Content"!==this.getHeightMode()&&this.__processWidth()}setWidthMode(valueNew){let convertedValue=TcHmi.ValueConverter.toSizeModeWithContent(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("WidthMode")),convertedValue!==this.__widthMode&&(this.__widthMode=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"WidthMode"}),this.__processWidthMode(),"Content"===convertedValue&&"Content"===this.getHeightMode()&&this.__processHeightMode())}setHeightMode(valueNew){let convertedValue=TcHmi.ValueConverter.toSizeModeWithContent(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("HeightMode")),convertedValue!==this.__heightMode&&(this.__heightMode=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"HeightMode"}),this.__processHeightMode(),"Content"===convertedValue&&"Content"===this.getWidthMode()&&this.__processWidthMode())}__getContentWidth(){if(this.__runtimeHeightNeededForWidth=!1,"Content"!==this.getWidthMode())return super.__getContentWidth();if(!this.__srcList)return null;if("px"!==this.__widthUnit)return null;if(TCHMI_DESIGNER)return 320;if(0===this.__elemVideo.videoHeight||0===this.__elemVideo.videoWidth)return null;let currentWidth=null;if("Content"===this.getHeightMode())currentWidth=this.__elemVideo.videoWidth;else if(null!==this.__height&&void 0!==this.__height&&"Value"===this.getHeightMode())currentWidth=this.__height*this.__elemVideo.videoWidth/this.__elemVideo.videoHeight;else{if(this.__runtimeHeightNeededForWidth=!0,null===this.__onResizedEventDestroyEvent&&(this.__onResizedEventDestroyEvent=TcHmi.EventProvider.register(this.__id+".onResized",this.__onResized)),!this.__isAttached)return null;currentWidth=parseFloat(window.getComputedStyle(this.__elementTemplateRoot[0]).height)*this.__elemVideo.videoWidth/this.__elemVideo.videoHeight}return TcHmi.Controls.limitPixelDimensionToControlBound(this,"width",currentWidth)}__getContentHeight(){if(this.__runtimeWidthNeededForHeight=!1,"Content"!==this.getHeightMode())return super.__getContentHeight();if(!this.__srcList)return null;if("px"!==this.__heightUnit)return null;if(TCHMI_DESIGNER)return 240;if(0===this.__elemVideo.videoHeight||0===this.__elemVideo.videoWidth)return null;let currentHeight=null;if("Content"===this.getWidthMode())currentHeight=this.__elemVideo.videoHeight;else if(null!==this.__width&&void 0!==this.__width&&"Value"===this.getWidthMode())currentHeight=this.__width*this.__elemVideo.videoHeight/this.__elemVideo.videoWidth;else{if(this.__runtimeWidthNeededForHeight=!0,null===this.__onResizedEventDestroyEvent&&(this.__onResizedEventDestroyEvent=TcHmi.EventProvider.register(this.__id+".onResized",this.__onResized)),!this.__isAttached)return null;currentHeight=parseFloat(window.getComputedStyle(this.__elementTemplateRoot[0]).width)*this.__elemVideo.videoHeight/this.__elemVideo.videoWidth}return TcHmi.Controls.limitPixelDimensionToControlBound(this,"height",currentHeight)}__processAccessConfig(){super.__processAccessConfig(),this.__processSrcList(),this.__processPoster()}__processIsEnabled(){super.__processIsEnabled(),this.__processSrcList(),this.__processPoster()}__onLoadedData(_event){void 0!==this.__playbackrate&&null!==this.__playbackrate&&this.__processPlaybackrate(),"Content"===this.getHeightMode()&&this.__processHeight(),"Content"===this.getWidthMode()&&this.__processWidth(),TcHmi.EventProvider.raise(this.__id+".onLoadedData"),TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"OriginalWidth"}),TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"OriginalHeight"}),TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"CurrentTime"}),TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"IsPlaying"})}__onError(event){event.currentTarget instanceof HTMLElement&&(event.currentTarget instanceof HTMLSourceElement&&event.currentTarget.nextElementSibling&&event.currentTarget.nextElementSibling instanceof HTMLSourceElement||(TcHmi.Log.Controls.error(this,TcHmiVideo.#tchmiFQN,"Could not load or play any requested video files. Perhaps the file format is not supported on this device."),this.getIsEnabled()&&("Content"===this.getHeightMode()&&this.__processHeight(),"Content"===this.getWidthMode()&&this.__processWidth(),TcHmi.EventProvider.raise(this.__id+".onError",event),TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"OriginalWidth"}),TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"OriginalHeight"}),TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"CurrentTime"}),TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"IsPlaying"}))))}__onVolumeChange(_event){let volume=this.__elemVideo.volume,mute=this.__elemVideo.muted;mute!==this.__mute&&(this.__mute=mute,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"Mute"})),volume!==this.__volume&&(this.__volume=volume,TcHmi.EventProvider.raise(this.__id+".onVolumeChange",this.__volume),TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"Volume"}),this.__volume>0&&this.__mute?(this.__mute=!1,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"Mute"})):0===this.__volume&&this.__mute&&(this.__mute=!0,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"Mute"})))}__onDurationChange(_event){this.__duration=this.__elemVideo.duration,isNaN(this.__duration)&&(this.__duration=0),TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"Duration"}),TcHmi.EventProvider.raise(this.__id+".onDurationChange",this.__duration)}__onEnded(event){TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"IsEnded"}),TcHmi.EventProvider.raise(this.__id+".onIsEndedChange",this.__elemVideo.ended)}__onPlayingChange(_event){TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"CurrentTime"}),TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"IsPlaying"}),TcHmi.EventProvider.raise(this.__id+".onIsPlayingChange",!this.__elemVideo.paused)}__onRateChange(_event){this.__playbackrate=this.__elemVideo.playbackRate,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"Playbackrate"})}__onTimeUpdate(_event){this.__currentTime=this.__elemVideo.currentTime,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"CurrentTime"}),TcHmi.EventProvider.raise(this.__id+".onTimeUpdate")}getDuration(){return this.__duration}getIsEnded(){return this.__elemVideo.ended}getIsPlaying(){return!this.__elemVideo.paused}setSrcList(valueNew){let convertedValue=TcHmi.ValueConverter.toObject(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("SrcList"));let resolverInfo=this.__objectResolvers.get("srcList");resolverInfo&&(resolverInfo.watchDestroyer&&resolverInfo.watchDestroyer(),resolverInfo.resolver.destroy());let resolver=new TcHmi.Symbol.ObjectResolver(convertedValue,{parentControl:this,type:this.getAttributeDescription("SrcList")?.type});this.__objectResolvers.set("srcList",{resolver,watchCallback:this.__onResolverForSrcListWatchCallback,watchDestroyer:resolver.watch(this.__onResolverForSrcListWatchCallback)})}__onResolverForSrcListWatchCallback(data){this.__isAttached||this.__suspendObjectResolver("srcList"),data.error===TcHmi.Errors.NONE?tchmi_equal(data.value,this.__srcList)||(this.__srcList=data.value,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"SrcList"}),this.__processSrcList()):TcHmi.Log.Controls.error(this,TcHmiVideo.#tchmiFQN,{Attribute:"SrcList"},`Resolving symbols from object failed with error: ${TcHmi.Log.buildMessage(data.details)}`)}getSrcList(){return this.__srcList}__processSrcList(){if(TCHMI_DESIGNER)return;if(!0!==TcHmi.Access.checkAccess(this,"observe")||!this.getIsEnabled())return void(this.__elemVideo.textContent="");let loadNeeded=!1;if(this.__srcList){let ii=this.__srcList.length;for(;this.__elemVideo.childElementCount>ii;)this.__elemVideo.removeChild(this.__elemVideo.lastElementChild);for(let i=0;i<ii;i++){let currentSourceElem,vs=this.__srcList[i];i<this.__elemVideo.childElementCount?currentSourceElem=this.__elemVideo.children[i]:(currentSourceElem=document.createElement("source"),currentSourceElem.addEventListener("error",this.__onError)),vs.source!==currentSourceElem.getAttribute("src")&&(currentSourceElem.src=tchmi_path(vs.source),loadNeeded=!0),vs.type!==currentSourceElem.type&&(currentSourceElem.type=vs.type??"",loadNeeded=!0),currentSourceElem.parentElement||this.__elemVideo.insertBefore(currentSourceElem,this.__elemVideo.lastElementChild?this.__elemVideo.lastElementChild.nextSibling:null)}this.__elemVideo.lastChild&&this.__elemVideo.lastChild.nodeType!==Node.TEXT_NODE&&this.__elemVideo.appendChild(document.createTextNode("HTML5 Video support is missing..."))}else this.__elemVideo.childElementCount&&(loadNeeded=!0,this.__elemVideo.textContent="");loadNeeded&&this.__elemVideo.load(),TcHmi.EventProvider.raise(this.__id+".onIsPlayingChange",!this.__elemVideo.paused)}play(){!0===TcHmi.Access.checkAccess(this,"operate")&&this.getIsEnabled()&&this.__elemVideo.play().then(result=>{}).catch(error=>{TcHmi.Log.Controls.error(this,TcHmiVideo.#tchmiFQN,"Video playback was prevented. Please set video control to mute or activate video with user interaction.")})}pause(){!0===TcHmi.Access.checkAccess(this,"operate")&&this.getIsEnabled()&&this.__elemVideo.pause()}stop(){!0===TcHmi.Access.checkAccess(this,"operate")&&this.getIsEnabled()&&(this.__elemVideo.load(),TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"CurrentTime"}),TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"IsPlaying"}),TcHmi.EventProvider.raise(this.__id+".onIsPlayingChange",!this.__elemVideo.paused))}skipBackward(valueNew){!0===TcHmi.Access.checkAccess(this,"operate")&&this.getIsEnabled()&&null!=valueNew&&(isNaN(valueNew)||(this.__elemVideo.currentTime-=valueNew))}skipForward(valueNew){!0===TcHmi.Access.checkAccess(this,"operate")&&this.getIsEnabled()&&null!=valueNew&&(isNaN(valueNew)||(this.__elemVideo.currentTime+=valueNew))}setCurrentTime(valueNew){if(!0!==TcHmi.Access.checkAccess(this,"operate"))return;if(!this.getIsEnabled())return;let convertedValue=TcHmi.ValueConverter.toNumber(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("CurrentTime")),convertedValue!==this.__currentTime&&null!==convertedValue&&(this.__currentTime=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"CurrentTime"}),this.__processCurrentTime())}getCurrentTime(){return this.__currentTime}__processCurrentTime(){this.__elemVideo.currentTime=this.__currentTime}setControls(valueNew){let convertedValue=TcHmi.ValueConverter.toBoolean(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("Controls")),convertedValue!==this.__controls&&(this.__controls=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"Controls"}),this.__processControls())}getControls(){return this.__controls}__processControls(){void 0!==this.__controls&&(!0===TcHmi.Access.checkAccess(this,"operate")?this.__elemVideo.controls=this.__controls:this.__elemVideo.controls=!1)}setVolume(valueNew){let convertedValue=TcHmi.ValueConverter.toNumber(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("Volume")),convertedValue!==this.__volume&&(this.__volume=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"Volume"}),this.__processVolume())}getVolume(){return this.__volume}__processVolume(){if(void 0===this.__volume)return;let volume=this.__volume;volume=volume<0?0:volume,volume=volume>1?1:volume,this.__elemVideo.volume=volume}setAutoplay(valueNew){let convertedValue=TcHmi.ValueConverter.toBoolean(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("Autoplay")),convertedValue!==this.__autoplay&&(this.__autoplay=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"Autoplay"}),this.__processAutoplay())}getAutoplay(){return this.__autoplay}__processAutoplay(){void 0!==this.__autoplay&&(this.__elemVideo.autoplay=this.__autoplay)}setMute(valueNew){let convertedValue=TcHmi.ValueConverter.toBoolean(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("Mute")),convertedValue!==this.__mute&&(this.__mute=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"Mute"}),this.__processMute())}getMute(){return this.__mute}__processMute(){void 0!==this.__mute&&(this.__elemVideo.muted=this.__mute)}setLoop(valueNew){let convertedValue=TcHmi.ValueConverter.toBoolean(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("Loop")),convertedValue!==this.__loop&&(this.__loop=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"Loop"}),this.__processLoop())}getLoop(){return this.__loop}__processLoop(){void 0!==this.__loop&&(this.__elemVideo.loop=this.__loop)}setPoster(valueNew){let convertedValue=TcHmi.ValueConverter.toString(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("Poster")),convertedValue!==this.__poster&&(this.__poster=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"Poster"}),this.__processPoster())}getPoster(){return this.__poster}__processPoster(){!0===TcHmi.Access.checkAccess(this,"observe")&&this.getIsEnabled()&&(this.__poster?this.__elemVideo.poster=this.__poster:this.__elemVideo.poster="")}setPlaybackrate(valueNew){let convertedValue=TcHmi.ValueConverter.toNumber(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("Playbackrate")),convertedValue!==this.__playbackrate&&(this.__playbackrate=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"Playbackrate"}),this.__processPlaybackrate())}getPlaybackrate(){return this.__playbackrate}__processPlaybackrate(){if(null!==this.__playbackrate&&void 0!==this.__playbackrate)try{this.__elemVideo.playbackRate=this.__playbackrate}catch(ex){}}getOriginalWidth(){return this.__elemVideo.videoWidth}getOriginalHeight(){return this.__elemVideo.videoHeight}}})();TcHmi.Controls.registerEx("TcHmiVideo","TcHmi.Controls.Beckhoff",TcHmiVideo,{injectInGlobalObject:!0});export{TcHmiVideo as Control};