5 lines
36 KiB
JavaScript
5 lines
36 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 TcHmiTimespanInput=(()=>{var _a,_b;let ___onKeydown_decorators,___onInput_decorators,___onPaste_decorators,___onCut_decorators,___onFocusIn_decorators,___onFocusOut_decorators,___onIndirectInputFinished_decorators,___onIndirectInputCanceled_decorators,___onClick_decorators,___onValueChanged_decorators,___onCancel_decorators,___onConfirmed_decorators,___onValueSymbolChanged_decorators,___onResolverForContentPaddingWatchCallback_decorators,___onResolverForValueColorWatchCallback_decorators,_classSuper=TcHmiControl.Control,_instanceExtraInitializers=[];return class TcHmiTimespanInput extends _classSuper{static{const _metadata="function"==typeof Symbol&&Symbol.metadata?Object.create(_classSuper[Symbol.metadata]??null):void 0;___onKeydown_decorators=[TcHmi.EventHandler({checkIsEnabled:!0,checkIsReadOnly:!0,checkAccess:"operate"})],___onInput_decorators=[TcHmi.EventHandler({checkIsEnabled:!0,checkIsReadOnly:!0,checkAccess:"operate"})],___onPaste_decorators=[TcHmi.EventHandler({checkIsEnabled:!0,checkIsReadOnly:!0,checkAccess:"operate"})],___onCut_decorators=[TcHmi.EventHandler({checkIsEnabled:!0,checkIsReadOnly:!0,checkAccess:"operate"})],___onFocusIn_decorators=[TcHmi.EventHandler({checkIsEnabled:!0,checkIsReadOnly:!0,checkAccess:"operate"})],___onFocusOut_decorators=[TcHmi.EventHandler({checkIsEnabled:!0,checkIsReadOnly:!0,checkAccess:"operate"})],___onIndirectInputFinished_decorators=[TcHmi.EventHandler({checkIsEnabled:!0,checkIsReadOnly:!0,checkAccess:"operate"})],___onIndirectInputCanceled_decorators=[TcHmi.EventHandler()],___onClick_decorators=[TcHmi.EventHandler({checkIsEnabled:!0,checkIsReadOnly:!0,checkAccess:"operate"})],___onValueChanged_decorators=[TcHmi.EventHandler({checkIsReadOnly:!0})],___onCancel_decorators=[TcHmi.EventHandler({checkIsReadOnly:!0})],___onConfirmed_decorators=[TcHmi.EventHandler({checkIsReadOnly:!0})],___onValueSymbolChanged_decorators=[TcHmi.EventHandler({checkIsReadOnly:!0})],___onResolverForContentPaddingWatchCallback_decorators=[(_a=TcHmi).CallbackMethod.bind(_a)],___onResolverForValueColorWatchCallback_decorators=[(_b=TcHmi).CallbackMethod.bind(_b)],__esDecorate(this,null,___onKeydown_decorators,{kind:"method",name:"__onKeydown",static:!1,private:!1,access:{has:obj=>"__onKeydown"in obj,get:obj=>obj.__onKeydown},metadata:_metadata},null,_instanceExtraInitializers),__esDecorate(this,null,___onInput_decorators,{kind:"method",name:"__onInput",static:!1,private:!1,access:{has:obj=>"__onInput"in obj,get:obj=>obj.__onInput},metadata:_metadata},null,_instanceExtraInitializers),__esDecorate(this,null,___onPaste_decorators,{kind:"method",name:"__onPaste",static:!1,private:!1,access:{has:obj=>"__onPaste"in obj,get:obj=>obj.__onPaste},metadata:_metadata},null,_instanceExtraInitializers),__esDecorate(this,null,___onCut_decorators,{kind:"method",name:"__onCut",static:!1,private:!1,access:{has:obj=>"__onCut"in obj,get:obj=>obj.__onCut},metadata:_metadata},null,_instanceExtraInitializers),__esDecorate(this,null,___onFocusIn_decorators,{kind:"method",name:"__onFocusIn",static:!1,private:!1,access:{has:obj=>"__onFocusIn"in obj,get:obj=>obj.__onFocusIn},metadata:_metadata},null,_instanceExtraInitializers),__esDecorate(this,null,___onFocusOut_decorators,{kind:"method",name:"__onFocusOut",static:!1,private:!1,access:{has:obj=>"__onFocusOut"in obj,get:obj=>obj.__onFocusOut},metadata:_metadata},null,_instanceExtraInitializers),__esDecorate(this,null,___onIndirectInputFinished_decorators,{kind:"method",name:"__onIndirectInputFinished",static:!1,private:!1,access:{has:obj=>"__onIndirectInputFinished"in obj,get:obj=>obj.__onIndirectInputFinished},metadata:_metadata},null,_instanceExtraInitializers),__esDecorate(this,null,___onIndirectInputCanceled_decorators,{kind:"method",name:"__onIndirectInputCanceled",static:!1,private:!1,access:{has:obj=>"__onIndirectInputCanceled"in obj,get:obj=>obj.__onIndirectInputCanceled},metadata:_metadata},null,_instanceExtraInitializers),__esDecorate(this,null,___onClick_decorators,{kind:"method",name:"__onClick",static:!1,private:!1,access:{has:obj=>"__onClick"in obj,get:obj=>obj.__onClick},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,___onCancel_decorators,{kind:"method",name:"__onCancel",static:!1,private:!1,access:{has:obj=>"__onCancel"in obj,get:obj=>obj.__onCancel},metadata:_metadata},null,_instanceExtraInitializers),__esDecorate(this,null,___onConfirmed_decorators,{kind:"method",name:"__onConfirmed",static:!1,private:!1,access:{has:obj=>"__onConfirmed"in obj,get:obj=>obj.__onConfirmed},metadata:_metadata},null,_instanceExtraInitializers),__esDecorate(this,null,___onValueSymbolChanged_decorators,{kind:"method",name:"__onValueSymbolChanged",static:!1,private:!1,access:{has:obj=>"__onValueSymbolChanged"in obj,get:obj=>obj.__onValueSymbolChanged},metadata:_metadata},null,_instanceExtraInitializers),__esDecorate(this,null,___onResolverForContentPaddingWatchCallback_decorators,{kind:"method",name:"__onResolverForContentPaddingWatchCallback",static:!1,private:!1,access:{has:obj=>"__onResolverForContentPaddingWatchCallback"in obj,get:obj=>obj.__onResolverForContentPaddingWatchCallback},metadata:_metadata},null,_instanceExtraInitializers),__esDecorate(this,null,___onResolverForValueColorWatchCallback_decorators,{kind:"method",name:"__onResolverForValueColorWatchCallback",static:!1,private:!1,access:{has:obj=>"__onResolverForValueColorWatchCallback"in obj,get:obj=>obj.__onResolverForValueColorWatchCallback},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);__elementInput;__elementButton;__timespanPicker;__elementUnit;__unitIsDisplayed=!1;__locked=!1;__value;__oldValue;__lastValidValue;__lastInput;__valueHorizontalAlignment;__contentPadding;__valueFontSize;__valueFontSizeUnit;__valueFontFamily;__valueFontStyle;__valueFontWeight;__placeholder;__valueColor;__autoFocusOut;__autoSelectText;__resetToLastValidValue;__valueBuffer;__buttonPosition;__directInputUnit;__maxValue;__isReadOnly;__triggerUIFinishedOnBlur=!1;__localizedInput={key:"",parameters:[]};__localizedElements=new Map;__localizationReader=void 0;__REGEX_ISO_8601=/^P(?=.{2,})(?:\d+Y|\d+[.,]\d+Y$)?(?:\d+M|\d+[.,]\d+M$)?(?:\d+W|\d+[.,]\d+W$)?(?:\d+D|\d+[.,]\d+D$)?(?:T(?:\d+H|\d+[.,]\d+H$)?(?:\d+M|\d+[.,]\d+M$)?(?:\d+S|\d+[.,]\d+S$)?)?$/;__REGEX_POSITIVE_NUMBER=/(?:^\d+\.?\d*$)|(?:^\d*\.?\d+$)/;__previnit(){this.__elementTemplateRoot=this.__element[0].getElementsByClassName("TcHmi_Controls_Beckhoff_TcHmiTimespanInput-template")[0],this.__elementInput=this.__elementTemplateRoot.getElementsByClassName("TcHmi_Controls_Beckhoff_TcHmiTimespanInput-template-input")[0],this.__elementButton=this.__elementTemplateRoot.getElementsByClassName("TcHmi_Controls_Beckhoff_TcHmiTimespanInput-template-button")[0],this.__elementUnit=this.__elementTemplateRoot.getElementsByClassName("TcHmi_Controls_Beckhoff_TcHmiTimespanInput-template-input-unit")[0];let timespanPicker=TcHmi.Controls.get(this.getId()+"_TcHmiTimespanPicker");if(!(this.__elementTemplateRoot&&this.__elementInput&&this.__elementButton&×panPicker&&this.__elementUnit))throw new Error("Invalid Template.html");this.__timespanPicker=timespanPicker;let localizedElements=this.__element[0].querySelectorAll("[data-tchmi-localized-content-key]");for(let i=0,ii=localizedElements.length;i<ii;i++){let element=localizedElements[i],localizeKey=element.dataset.tchmiLocalizedContentKey;localizeKey&&this.__localizedElements.set(element,{key:localizeKey})}this.__destroyOnDestroy.push(this.__localization.watch(data=>{if(data.error===TcHmi.Errors.NONE&&data.reader){if(this.__localizationReader=data.reader,""!==this.__localizedInput.key){let localizedText=data.reader.get(this.__localizedInput.key);this.__localizedInput.parameters.length>0&&(localizedText=tchmi_format_string(localizedText,...this.__localizedInput.parameters)),TCHMI_DESIGNER||this.__elementInput.setCustomValidity(tchmi_decode_control_characters(localizedText))}for(const[element,info]of this.__localizedElements){let localizedText=data.reader.get(info.key);info.parameters&&(localizedText=tchmi_format_string(localizedText,...info.parameters)),element.textContent=tchmi_decode_control_characters(localizedText)}this.__processContentPadding()}})),super.__previnit()}__init(){super.__init()}__attach(){super.__attach(),this.__processButtonPosition(),this.__processContentPadding();const passiveEventOptions={passive:!0,capture:!1};this.__destroyOnDetach.push(TcHmi.EventProvider.register(this.getId()+"_TcHmiTimespanPicker.onValueChanged",this.__onValueChanged),TcHmi.EventProvider.register(this.__timespanPicker.getId()+".onPropertyChanged<TimeUnits>",()=>{TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"TimeUnits"})}),TcHmi.EventProvider.register(this.getId()+"_TcHmiTimespanPicker.onCancel",this.__onCancel),TcHmi.EventProvider.register(this.getId()+"_TcHmiTimespanPicker.onConfirmed",this.__onConfirmed),TcHmi.EventProvider.registerDomEvent(this.__elementTemplateRoot,"focusin",this.__onFocusIn,passiveEventOptions),TcHmi.EventProvider.registerDomEvent(this.__elementTemplateRoot,"focusout",this.__onFocusOut,passiveEventOptions),TcHmi.EventProvider.registerDomEvent(this.__elementTemplateRoot,"indirectinputfinished",this.__onIndirectInputFinished),TcHmi.EventProvider.registerDomEvent(this.__elementTemplateRoot,"indirectinputcanceled",this.__onIndirectInputCanceled),TcHmi.EventProvider.registerDomEvent(this.__elementInput,"keydown",this.__onKeydown,{passive:!1,capture:!1}),TcHmi.EventProvider.registerDomEvent(this.__elementInput,"input",this.__onInput,passiveEventOptions),TcHmi.EventProvider.registerDomEvent(this.__elementInput,"paste",this.__onPaste,passiveEventOptions),TcHmi.EventProvider.registerDomEvent(this.__elementInput,"cut",this.__onCut,passiveEventOptions),TcHmi.EventProvider.registerDomEvent(this.__elementButton,"click",this.__onClick,passiveEventOptions),TcHmi.EventProvider.register(this.getId()+"_TcHmiTimespanPicker.onValueSymbolChanged",this.__onValueSymbolChanged))}__detach(){super.__detach()}destroy(){this.__keepAlive||super.destroy()}__addLocalizedElement(element,key,...parameters){let info={key};if(0!==parameters.length&&(info.parameters=parameters),this.__localizedElements.set(element,info),this.__localizationReader){let localizedText=this.__localizationReader.get(key);info.parameters&&(localizedText=tchmi_format_string(localizedText,...info.parameters)),element.textContent=tchmi_decode_control_characters(localizedText)}}__removeLocalizedElement(element){this.__localizedElements.delete(element)}__validateInputForMaxValue(value,setMaxValue=!1){const elementInputObject=this.__timespanPicker.isoToTimespanObject(value),elementInputMilliseconds=this.__timespanPicker.convertToMilliseconds(elementInputObject),maxValueSymbol=this.__timespanPicker.getMaxValueSymbol();if(this.__maxValue){const maxValueObject=this.__timespanPicker.isoToTimespanObject(this.__maxValue);if(elementInputMilliseconds>this.__timespanPicker.convertToMilliseconds(maxValueObject)&&!setMaxValue)return this.__setLocalizedInputValidity("MaxValueReached"),!1}else if(maxValueSymbol){const maxFormatObject=this.__timespanPicker.isoToTimespanObject(maxValueSymbol);if(elementInputMilliseconds>this.__timespanPicker.convertToMilliseconds(maxFormatObject))return this.__setLocalizedInputValidity("MaxFormatReached"),!1}return!0}__validateInput(){if(this.__attributesInitialized)if(this.__REGEX_ISO_8601.test(this.__elementInput.value)){if(!this.__validateInputForMaxValue(this.__elementInput.value))return;this.__setLocalizedInputValidity(""),this.__unitIsDisplayed&&this.__removeUnit(),this.__lastValidValue=this.__elementInput.value}else if("None"!==this.__directInputUnit&&this.__REGEX_POSITIVE_NUMBER.test(this.__elementInput.value)){const value=this.__convertToTimespan(Number(this.__elementInput.value));if(!this.__validateInputForMaxValue(value))return;this.__setLocalizedInputValidity(""),this.__unitIsDisplayed||this.__showUnit(),this.__lastValidValue=value}else""===this.__elementInput.value?(this.__unitIsDisplayed||"None"===this.__directInputUnit||this.__showUnit(),this.__setLocalizedInputValidity("ValueEmpty")):(this.__unitIsDisplayed&&this.__removeUnit(),"None"!==this.__directInputUnit?this.__setLocalizedInputValidity("ValueFormatNumeric"):this.__setLocalizedInputValidity("ValueFormat"));else this.__setLocalizedInputValidity(""),this.__value?this.__unitIsDisplayed&&this.__removeUnit():this.__unitIsDisplayed||this.__showUnit()}__onKeydown(event){const valueSymbol=this.__timespanPicker.getValueSymbol();if(this.__triggerUIFinishedOnBlur=!0,"Escape"===event.key)this.__processValue(),TcHmi.EventProvider.raise(this.__id+".onUserInteractionCanceled"),this.__triggerUIFinishedOnBlur=!1,this.__autoFocusOut&&this.__elementInput.blur();else if("Enter"===event.key){if(this.__oldValue=this.__value,this.__triggerUIFinishedOnBlur=!1,this.__autoFocusOut)this.__elementInput.blur(),this.__unlock();else if(this.__REGEX_ISO_8601.test(this.__elementInput.value))valueSymbol?(this.__validateInput(),this.__validateInputForMaxValue(this.__elementInput.value)&&valueSymbol.write(this.__elementInput.value)):this.__validateInputForMaxValue(this.__elementInput.value,!1)&&this.__valueBuffer?.interactionFinished(),this.__unitIsDisplayed&&this.__removeUnit();else if("None"!==this.__directInputUnit&&this.__REGEX_POSITIVE_NUMBER.test(this.__elementInput.value)){let numericValue=Number(this.__elementInput.value);valueSymbol?(this.__validateInput(),this.__validateInputForMaxValue(this.__elementInput.value)&&valueSymbol.write(this.__convertToTimespan(numericValue))):this.__validateInputForMaxValue(this.__elementInput.value)&&this.__valueBuffer?.interactionFinished(),this.__unitIsDisplayed&&this.__removeUnit()}else this.__resetToLastValidValue&&(this.__processValue(),this.__unitIsDisplayed&&this.__removeUnit());TcHmi.EventProvider.raise(this.__id+".onUserInteractionFinished"),event.preventDefault()}}__onInput(event){if(this.__triggerUIFinishedOnBlur=!0,this.__validateInput(),!this.__timespanPicker.getValueSymbol())if(this.__REGEX_ISO_8601.test(this.__elementInput.value))this.__validateInputForMaxValue(this.__elementInput.value,!1)&&this.__valueBuffer?.setValue(this.__elementInput.value);else if("None"!==this.__directInputUnit&&this.__REGEX_POSITIVE_NUMBER.test(this.__elementInput.value)){const value=this.__convertToTimespan(Number(this.__elementInput.value));this.__validateInputForMaxValue(value)&&this.__valueBuffer?.setValue(value)}else this.__valueBuffer?.setValue(null)}__onPaste(event){this.__triggerUIFinishedOnBlur=!0,window.setTimeout(()=>{this.__validateInput()})}__onCut(event){this.__triggerUIFinishedOnBlur=!0,window.setTimeout(()=>{this.__validateInput()})}__onFocusIn(event){this.__triggerUIFinishedOnBlur=!0,this.__oldValue=this.__value,this.__elementInput.classList.add("tchmi-focus"),this.__autoSelectText&&(this.__elementInput.setSelectionRange(0,0),this.__elementInput.select()),TcHmi.EventProvider.raise(this.__id+".onFocusIn",event),this.__elementInput===document.activeElement&&this.__lock()}__onFocusOut(event){this.__elementInput.classList.contains("tchmi-keyboard-user-input")||this.__performFocusOut(event)}__performFocusOut(event){this.__unlock(),this.__elementInput.classList.remove("tchmi-focus"),TcHmi.EventProvider.raise(this.__id+".onFocusOut",event);const valueSymbol=this.__timespanPicker.getValueSymbol();this.__oldValue=this.__value;let valueNew=this.__elementInput.value;if("None"!==this.__directInputUnit&&this.__REGEX_POSITIVE_NUMBER.test(valueNew)){let numericValue=Number(this.__elementInput.value);valueNew=this.__convertToTimespan(numericValue),this.__elementInput.value=valueNew}this.__REGEX_ISO_8601.test(valueNew)&&this.__validateInputForMaxValue(valueNew)?(this.__unitIsDisplayed&&this.__removeUnit(),valueSymbol?valueSymbol.write(valueNew):this.__valueBuffer?.interactionFinished()):this.__resetToLastValidValue&&(this.__unitIsDisplayed&&this.__removeUnit(),this.__timespanPicker.getValueSymbol()?this.__processValueSymbolCurrentValue():this.__setValue(this.__lastValidValue)),this.__triggerUIFinishedOnBlur&&TcHmi.EventProvider.raise(this.__id+".onUserInteractionFinished"),this.__triggerUIFinishedOnBlur=!1}__convertToTimespan(valueNew){if(valueNew<0)return"";switch(this.__directInputUnit){case"Milliseconds":return`PT${valueNew/=1e3}S`;case"Seconds":return`PT${valueNew}S`;case"Minutes":return`PT${valueNew}M`;case"Hours":return`PT${valueNew}H`;case"Days":return`P${valueNew}D`;case"Months":return`P${valueNew}M`;case"Years":return`P${valueNew}Y`;default:return""}}__onIndirectInputFinished(event){if(!0!==TcHmi.Access.checkAccess(this,"operate"))return;if(!this.getIsEnabled()||this.__isReadOnly)return;const valueSymbol=this.__timespanPicker.getValueSymbol();this.__oldValue=this.__value;let valueNew=this.__elementInput.value;if("None"!==this.__directInputUnit&&this.__REGEX_POSITIVE_NUMBER.test(valueNew)){let numericValue=Number(valueNew);valueNew=this.__convertToTimespan(numericValue)}this.__REGEX_ISO_8601.test(valueNew)?(this.__unitIsDisplayed&&this.__removeUnit(),valueSymbol?this.__validateInputForMaxValue(this.__elementInput.value)&&valueSymbol.write(valueNew):this.__validateInputForMaxValue(this.__elementInput.value)&&this.__setValue(valueNew)):this.__resetToLastValidValue&&(this.__unitIsDisplayed&&this.__removeUnit(),this.__processValue()),this.__autoFocusOut?(this.__elementInput?.blur(),this.__unlock()):(TcHmi.EventProvider.raise(this.__id+".onUserInteractionFinished"),this.__triggerUIFinishedOnBlur=!1)}__onIndirectInputCanceled(event){TcHmi.EventProvider.raise(this.__id+".onUserInteractionCanceled"),this.__triggerUIFinishedOnBlur=!1,this.__elementInput!==document.activeElement?this.__performFocusOut(event):this.__autoFocusOut&&this.__elementInput.blur()}__onClick(event){if(this.__REGEX_ISO_8601.test(this.__elementInput.value)&&this.__timespanPicker.setValue(this.__elementInput.value),this.__timespanPicker.openTimespanPicker(),this.__maxValue)this.__timespanPicker.setMaxValue(this.__maxValue);else if(this.__timespanPicker.getValueSymbol()){const maxValueSymbol=this.__timespanPicker.getMaxValueSymbol();this.__timespanPicker.setMaxValue(void 0===maxValueSymbol?null:maxValueSymbol)}else this.__timespanPicker.setMaxValue(null)}__onValueChanged(_event,data){this.__timespanPicker.getValueSymbol()||this.setValue(data)}__onCancel(_event){TcHmi.EventProvider.raise(this.__id+".onUserInteractionCanceled")}__onConfirmed(_event){TcHmi.EventProvider.raise(this.__id+".onUserInteractionFinished")}__onValueSymbolChanged(_event,_data){this.__timespanPicker.getValueSymbol()&&this.__processValueSymbolCurrentValue()}__setLocalizedInputValidity(key,...parameters){if(this.__localizedInput.key=key,this.__localizedInput.parameters=parameters,this.__localizationReader){let localizedText=this.__localizationReader.get(key);this.__localizedInput.parameters.length>0&&(localizedText=tchmi_format_string(localizedText,...this.__localizedInput.parameters)),TCHMI_DESIGNER||this.__elementInput.setCustomValidity(tchmi_decode_control_characters(localizedText))}}setValue(valueNew){this.__locked&&!this.__isReadOnly||this.__setValue(valueNew)}__setValue(valueNew,writeToInput=!0){let convertedValue=TcHmi.ValueConverter.toString(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("Value")),convertedValue!==this.__value||this.__timespanPicker.getValueSymbol()?(this.__value=convertedValue,this.__timespanPicker.setValue(this.__value),this.__timespanPicker.getValueSymbol()||(TcHmi.EventProvider.raise(this.__id+".onValueChanged",this.__value),TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"Value"}),this.__processValue(writeToInput))):this.__elementInput.value!==this.__value&&this.__processValue()}getValue(){return this.__value}__processValue(writeToInput=!0){writeToInput&&(this.__elementInput.value=this.__value??""),this.__elementInput.setCustomValidity(""),this.__isReadOnly&&this.__REGEX_ISO_8601.test(this.__elementInput.value)&&this.__timespanPicker.setValue(this.__elementInput.value),this.__validateInput()}setMaxValue(valueNew){if(null===valueNew)this.__setMaxValue(valueNew);else if(!this.__REGEX_ISO_8601.test(valueNew))return;this.__setMaxValue(valueNew)}__setMaxValue(valueNew){let convertedValue=TcHmi.ValueConverter.toString(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("MaxValue")),convertedValue!==this.__maxValue&&(this.__maxValue=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"MaxValue"}),this.__timespanPicker.setMaxValue(this.__maxValue),this.__validateInput())}getMaxValue(){if(void 0!==this.__maxValue)return this.__maxValue}setValueSymbol(valueNew){const oldSymbol=this.__timespanPicker.getValueSymbol();this.__timespanPicker.setValueSymbol(valueNew),oldSymbol!==valueNew&&TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"ValueSymbol"}),this.__processValueSymbol()}getValueSymbol(){return this.__timespanPicker.getValueSymbol()}__processValueSymbol(){this.__timespanPicker.getValueSymbol()?this.__processValueSymbolCurrentValue():this.__processValue(),this.__timespanPicker.getValueSymbol()||this.__value||this.__elementInput.setCustomValidity("")}__processValueSymbolCurrentValue(){const valueSymbolCurrentValue=this.__timespanPicker.getValueSymbolCurrentValue();this.__elementInput.value=valueSymbolCurrentValue??"",this.__elementInput.setCustomValidity("");const valueSymbol=this.__timespanPicker.getValueSymbol();valueSymbol?.write(valueSymbolCurrentValue),this.__validateInput()}setValueHorizontalAlignment(valueNew){let convertedValue=TcHmi.ValueConverter.toHorizontalAlignment(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("ValueHorizontalAlignment")),convertedValue!==this.__valueHorizontalAlignment&&(this.__valueHorizontalAlignment=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"ValueHorizontalAlignment"}),this.__processValueHorizontalAlignment())}getValueHorizontalAlignment(){return this.__valueHorizontalAlignment}__processValueHorizontalAlignment(){switch(this.__valueHorizontalAlignment){case"Left":TcHmi.StyleProvider.setSimpleElementStyle(this.__elementInput,"text-align","left");break;case"Center":TcHmi.StyleProvider.setSimpleElementStyle(this.__elementInput,"text-align","center");break;case"Right":TcHmi.StyleProvider.setSimpleElementStyle(this.__elementInput,"text-align","right");break;default:TcHmi.StyleProvider.setSimpleElementStyle(this.__elementInput,"text-align",null)}}setContentPadding(valueNew){let convertedValue=TcHmi.ValueConverter.toObject(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("ContentPadding"));let resolverInfo=this.__objectResolvers.get("contentPadding");resolverInfo&&(resolverInfo.watchDestroyer&&resolverInfo.watchDestroyer(),resolverInfo.resolver.destroy());let resolver=new TcHmi.Symbol.ObjectResolver(convertedValue,{parentControl:this,type:this.getAttributeDescription("ContentPadding")?.type});this.__objectResolvers.set("contentPadding",{resolver,watchCallback:this.__onResolverForContentPaddingWatchCallback,watchDestroyer:resolver.watch(this.__onResolverForContentPaddingWatchCallback)})}__onResolverForContentPaddingWatchCallback(data){this.__isAttached||this.__suspendObjectResolver("contentPadding"),data.error===TcHmi.Errors.NONE?tchmi_equal(data.value,this.__contentPadding)||(this.__contentPadding=data.value,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"ContentPadding"}),this.__processContentPadding()):TcHmi.Log.Controls.error(this,TcHmiTimespanInput.#tchmiFQN,{Attribute:"ContentPadding"},`Resolving symbols from object failed with error: ${TcHmi.Log.buildMessage(data.details)}`)}getContentPadding(){return this.__contentPadding}__processContentPadding(){let padding=tchmi_clone_object(this.__contentPadding)??{bottom:0,left:0,right:0,top:0,bottomUnit:"px",leftUnit:"px",rightUnit:"px",topUnit:"px"};this.__unitIsDisplayed&&("%"!==padding.rightUnit?padding.right+=this.__elementUnit.getBoundingClientRect().width:padding.right+=this.__elementTemplateRoot.getBoundingClientRect().width/this.__elementUnit.getBoundingClientRect().width),TcHmi.StyleProvider.processContentPadding(this.__elementInput,padding)}setValueFontSize(valueNew){let convertedValue=TcHmi.ValueConverter.toNumber(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("ValueFontSize")),convertedValue!==this.__valueFontSize&&(this.__valueFontSize=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"ValueFontSize"}),this.__processValueFontSize())}getValueFontSize(){return this.__valueFontSize}__processValueFontSize(){TcHmi.StyleProvider.processFontSize(this.__elementInput,this.__valueFontSize,this.__valueFontSizeUnit)}setValueFontSizeUnit(valueNew){let convertedValue=TcHmi.ValueConverter.toFontSizeUnit(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("ValueFontSizeUnit")),convertedValue!==this.__valueFontSizeUnit&&(this.__valueFontSizeUnit=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"ValueFontSizeUnit"}),this.__processValueFontSizeUnit())}getValueFontSizeUnit(){return this.__valueFontSizeUnit}__processValueFontSizeUnit(){TcHmi.StyleProvider.processFontSize(this.__elementInput,this.__valueFontSize,this.__valueFontSizeUnit)}setValueFontFamily(valueNew){let convertedValue=TcHmi.ValueConverter.toFontFamily(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("ValueFontFamily")),convertedValue!==this.__valueFontFamily&&(this.__valueFontFamily=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"ValueFontFamily"}),this.__processValueFontFamily())}getValueFontFamily(){return this.__valueFontFamily}__processValueFontFamily(){TcHmi.StyleProvider.processFontFamily(this.__elementInput,this.__valueFontFamily)}setValueFontStyle(valueNew){let convertedValue=TcHmi.ValueConverter.toFontStyle(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("ValueFontStyle")),convertedValue!==this.__valueFontStyle&&(this.__valueFontStyle=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"ValueFontStyle"}),this.__processValueFontStyle())}getValueFontStyle(){return this.__valueFontStyle}__processValueFontStyle(){TcHmi.StyleProvider.processFontStyle(this.__elementInput,this.__valueFontStyle)}setValueFontWeight(valueNew){let convertedValue=TcHmi.ValueConverter.toFontWeight(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("ValueFontWeight")),convertedValue!==this.__valueFontWeight&&(this.__valueFontWeight=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"ValueFontWeight"}),this.__processValueFontWeight())}getValueFontWeight(){return this.__valueFontWeight}__processValueFontWeight(){TcHmi.StyleProvider.processFontWeight(this.__elementInput,this.__valueFontWeight)}setPlaceholder(valueNew){let convertedValue=TcHmi.ValueConverter.toString(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("Placeholder")),convertedValue!==this.__placeholder&&(this.__placeholder=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"Placeholder"}),this.__processPlaceholder())}getPlaceholder(){return this.__placeholder}__processPlaceholder(){this.__placeholder?this.__elementInput.setAttribute("placeholder",this.__placeholder):this.__elementInput.removeAttribute("placeholder")}setValueColor(valueNew){let convertedValue=TcHmi.ValueConverter.toObject(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("ValueColor"));let resolverInfo=this.__objectResolvers.get("textColor");resolverInfo&&(resolverInfo.watchDestroyer&&resolverInfo.watchDestroyer(),resolverInfo.resolver.destroy());let resolver=new TcHmi.Symbol.ObjectResolver(convertedValue,{parentControl:this,type:this.getAttributeDescription("ValueColor")?.type});this.__objectResolvers.set("textColor",{resolver,watchCallback:this.__onResolverForValueColorWatchCallback,watchDestroyer:resolver.watch(this.__onResolverForValueColorWatchCallback)})}__onResolverForValueColorWatchCallback(data){this.__isAttached||this.__suspendObjectResolver("textColor"),data.error===TcHmi.Errors.NONE?tchmi_equal(data.value,this.__valueColor)||(this.__valueColor=data.value,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"ValueColor"}),this.__processValueColor()):TcHmi.Log.Controls.error(this,TcHmiTimespanInput.#tchmiFQN,{Attribute:"ValueColor"},`Resolving symbols from object failed with error: ${TcHmi.Log.buildMessage(data.details)}`)}getValueColor(){return this.__valueColor}__processValueColor(){TcHmi.StyleProvider.processTextColor(this.__elementInput,this.__valueColor)}setAutoFocusOut(valueNew){let convertedValue=TcHmi.ValueConverter.toBoolean(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("AutoFocusOut")),convertedValue!==this.__autoFocusOut&&(this.__autoFocusOut=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"AutoFocusOut"}),this.__processAutoFocusOut())}getAutoFocusOut(){return this.__autoFocusOut}__processAutoFocusOut(){}__lock(){this.__locked=!0}__unlock(){this.__locked=!1}__processControlActivation(){const valueInput=this.__elementInput;TcHmi.Access.checkAccess(this,"operate")&&this.getIsEnabled()?valueInput.disabled=!1:(this.__unlock(),valueInput.blur(),valueInput.disabled=!0)}__processIsEnabled(){super.__processIsEnabled(),this.__processControlActivation()}__processAccessConfig(){super.__processAccessConfig(),this.__processControlActivation()}
|
|
/**
|
|
* Sets the isReadOnly attribute and calls the associated process function (processIsReadOnly).
|
|
* @preserve (Part of the public API)
|
|
*/setIsReadOnly(valueNew){let convertedValue=TcHmi.ValueConverter.toBoolean(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("IsReadOnly")),convertedValue!==this.__isReadOnly&&(this.__isReadOnly=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"IsReadOnly"}),this.__processIsReadOnly())}getIsReadOnly(){return this.__isReadOnly}__processIsReadOnly(){this.__element[0].classList.toggle("read-only",this.__isReadOnly??!1),this.__elementInput.readOnly=this.__isReadOnly??!1,this.__timespanPicker.setIsReadOnly(this.__isReadOnly??!1)}setAutoSelectText(valueNew){let convertedValue=TcHmi.ValueConverter.toBoolean(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("AutoSelectText")),convertedValue!==this.__autoSelectText&&(this.__autoSelectText=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"AutoSelectText"}))}getAutoSelectText(){return this.__autoSelectText}setResetToLastValidValue(valueNew){let convertedValue=TcHmi.ValueConverter.toBoolean(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("ResetToLastValidValue")),convertedValue!==this.__resetToLastValidValue&&(this.__resetToLastValidValue=convertedValue,TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"ResetToLastValidValue"}),this.__processResetToLastValidValue())}getResetToLastValidValue(){return this.__resetToLastValidValue}__processResetToLastValidValue(){this.__timespanPicker.getValueSymbol()?this.__processValueSymbolCurrentValue():this.__processValue()}setInputProcessingPoint(valueNew){let convertedValue=TcHmi.ValueConverter.toEnum(valueNew,TcHmi.Controls.Helpers.InputProcessingPoint);null===convertedValue&&(convertedValue=TcHmi.Controls.Helpers.InputProcessingPoint[this.getAttributeDefaultValueInternal("InputProcessingPoint")]),convertedValue!==this.__valueBuffer?.processingPoint&&(this.__valueBuffer?this.__valueBuffer.processingPoint=convertedValue:this.__valueBuffer=new TcHmi.Controls.Helpers.ValueBuffer(convertedValue,value=>this.__setValue(value,!1)),TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"InputProcessingPoint"}),this.__processInputProcessingPoint())}getInputProcessingPoint(){return this.__valueBuffer?.processingPoint}__processInputProcessingPoint(){}setButtonPosition(valueNew){let convertedValue=TcHmi.ValueConverter.toString(valueNew);null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("ButtonPosition")),convertedValue!==this.__buttonPosition&&(this.__buttonPosition="Left"===convertedValue?convertedValue:"Right",TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"ButtonPosition"}),this.__processButtonPosition())}getButtonPosition(){return this.__buttonPosition}__processButtonPosition(){"Left"!==this.__buttonPosition?(this.__elementTemplateRoot.classList.remove("left"),this.__elementUnit.style.marginRight=(this.__elementButton?.getBoundingClientRect().width??26)+"px"):(this.__elementTemplateRoot.classList.add("left"),this.__elementUnit.style.marginRight="0")}setDirectInputUnit(valueNew){let convertedValue=TcHmi.ValueConverter.toString(valueNew);if(null===convertedValue&&(convertedValue=this.getAttributeDefaultValueInternal("DirectInputUnit")),convertedValue!==this.__directInputUnit){switch(convertedValue){case"Milliseconds":case"Seconds":case"Minutes":case"Hours":case"Days":case"Months":case"Years":this.__directInputUnit=convertedValue;break;default:this.__directInputUnit="None"}TcHmi.EventProvider.raise(this.__id+".onPropertyChanged",{propertyName:"DirectInputUnit"}),this.__processDirectInputUnit()}}getDirectInputUnit(){return this.__directInputUnit}__processDirectInputUnit(){this.__directInputUnit&&"None"!==this.__directInputUnit?this.__addLocalizedElement(this.__elementUnit,this.__directInputUnit):this.__removeLocalizedElement(this.__elementUnit),this.__processButtonPosition(),this.__value||(this.__unitIsDisplayed=!0),this.__elementUnit.style.visibility=this.__unitIsDisplayed?"visible":"collapse",this.__processContentPadding()}setTimeUnits(valueNew){this.__timespanPicker.setTimeUnits(valueNew)}getTimeUnits(){this.__timespanPicker.getTimeUnits()}__showUnit(){this.__unitIsDisplayed=!0,this.__elementUnit.style.visibility="visible",this.__processContentPadding()}__removeUnit(){this.__unitIsDisplayed=!1,this.__elementUnit.style.visibility="collapse",this.__processContentPadding()}focus(){this.__elementInput.focus()}}})();TcHmi.Controls.registerEx("TcHmiTimespanInput","TcHmi.Controls.Beckhoff",TcHmiTimespanInput,{injectInGlobalObject:!0});export{TcHmiTimespanInput as Control}; |