Files
SIG/Scripts/AjaxControlToolkit/Release/NumericUpDown.js
2024-11-05 10:47:20 -07:00

1 line
13 KiB
JavaScript

Type.registerNamespace("Sys.Extended.UI"),Sys.Extended.UI.NumericUpDownBehavior=function(e){Sys.Extended.UI.NumericUpDownBehavior.initializeBase(this,[e]),this._currentValue=null,this._widthValue=null,this._targetButtonUpIDValue=null,this._targetButtonDownIDValue=null,this._serviceUpPathValue=location.pathname,this._serviceUpMethodValue=null,this._serviceDownPathValue=location.pathname,this._serviceDownMethodValue=null,this._refValuesValue=null,this._tagValue=null,this._elementTextBox=null,this._step=1,this._min=-Number.MAX_VALUE,this._max=Number.MAX_VALUE,this._bUp=null,this._bDown=null,this._stepPrecision=0,this._valuePrecision=0,this._clickUpHandler=null,this._clickDownHandler=null,this._changeHandler=null},Sys.Extended.UI.NumericUpDownBehavior.prototype={initialize:function(){Sys.Extended.UI.NumericUpDownBehavior.callBaseMethod(this,"initialize"),$common.prepareHiddenElementForATDeviceUpdate();var e=this.get_element();if(this._elementTextBox=e,this._refValuesValue||this._serviceUpMethodValue||this._serviceDownMethodValue?this._elementTextBox.readOnly=!0:this._elementTextBox.readOnly=!1,this.readValue(),this._changeHandler=Function.createDelegate(this,this._onChange),$addHandler(e,"blur",this._changeHandler),!this._targetButtonUpIDValue||!this._targetButtonDownIDValue){this._widthValue=Math.max(this._widthValue,24),e.style.width=this._widthValue-24+"px",e.style.textAlign="center";var t=document.createElement("DIV");t.style.position="relative",t.style.width=this._widthValue+"px",t.style.fontSize=e.clientHeight+"px",t.style.height=e.clientHeight+"px",t.style.paddingRight="24px",Sys.Browser.agent!=Sys.Browser.Firefox&&Sys.Browser.agent!=Sys.Browser.Safari?t.style.display="inline":t.style.display="inline-block",e.parentNode.insertBefore(t,e);var i=document.createElement("TABLE"),n=document.createElement("TBODY"),s=document.createElement("TR"),r=document.createElement("TR"),a=document.createElement("TD"),h=document.createElement("TD"),u=document.createElement("TD");a.rowSpan="2",a.style.verticalAlign="middle",h.style.verticalAlign="bottom",h.style.lineHeight="0",u.style.verticalAlign="top",u.style.lineHeight="0",s.appendChild(a),s.appendChild(h),r.appendChild(u),n.appendChild(s),n.appendChild(r),i.appendChild(n),t.appendChild(i),e.parentNode.removeChild(e),a.appendChild(e),i.style.borderCollapse="collapse",i.className+="ajax__numericupdown_container",i.style.display="inline",i.style.position="relative",a.style.padding="0",h.style.padding="0",u.style.padding="0",a.style.margin="0",h.style.margin="0",u.style.margin="0"}this._targetButtonUpIDValue||(this._bUp=document.createElement("input"),this._bUp.type="button",this._bUp.id=e.id+"_bUp",this._bUp.style.border="outset 1px",Sys.Browser.agent==Sys.Browser.InternetExplorer?(this._bUp.style.fontFamily="Webdings",this._bUp.style.fontSize="9pt",this._bUp.value="5"):(this._bUp.style.fontFamily="Tahoma, Arial, sans-serif",this._bUp.style.fontSize="5pt",this._bUp.value="▲",this._bUp.style.fontWeight="bold",this._bUp.style.lineHeight="3pt"),this._bUp.style.height="12px",this._bUp.style.width="24px",this._bUp.style.overflow="hidden",this._bUp.style.margin="0",h.appendChild(this._bUp)),this._targetButtonDownIDValue||(this._bDown=document.createElement("input"),this._bDown.type="button",this._bDown.id=e.id+"_bDown",this._bDown.style.border="outset 1px",Sys.Browser.agent==Sys.Browser.InternetExplorer?(this._bDown.value="6",this._bDown.style.fontFamily="Webdings",this._bDown.style.fontSize="9pt"):(this._bDown.value="▼",this._bDown.style.fontFamily="Tahoma, Arial, sans-serif",this._bDown.style.fontSize="5pt",this._bDown.style.fontWeight="bold"),this._bDown.style.height="12px",this._bDown.style.width="24px",this._bDown.style.overflow="hidden",this._bDown.style.margin="0",u.appendChild(this._bDown)),null==this._bUp&&(this._bUp=document.getElementById(this._targetButtonUpIDValue)),this._bUp&&(this._clickUpHandler=Function.createDelegate(this,this._clickUp),$addHandler(this._bUp,"click",this._clickUpHandler)),null==this._bDown&&(this._bDown=document.getElementById(this._targetButtonDownIDValue)),this._bDown&&(this._clickDownHandler=Function.createDelegate(this,this._clickDown),$addHandler(this._bDown,"click",this._clickDownHandler))},dispose:function(){this._changeHandler&&($removeHandler(this.get_element(),"blur",this._changeHandler),this._changeHandler=null),this._clickUpHandler&&this._bUp&&($removeHandler(this._bUp,"click",this._clickUpHandler),this._clickUpHandler=null),this._clickDownHandler&&this._bDown&&($removeHandler(this._bDown,"click",this._clickDownHandler),this._clickDownHandler=null),Sys.Extended.UI.NumericUpDownBehavior.callBaseMethod(this,"dispose")},add_currentChanged:function(e){this.get_events().addHandler("currentChanged",e)},remove_currentChanged:function(e){this.get_events().removeHandler("currentChanged",e)},raise_currentChanged:function(e){var t=this.get_events().getHandler("currentChanged");t&&(e||(e=Sys.EventArgs.Empty),t(this,e))},raiseCurrentChanged:function(e){Sys.Extended.Deprecated("raiseCurrentChanged(eventArgs)","raise_currentChanged(eventArgs)"),this.raise_currentChanged(e)},_onChange:function(){this.readValue(),this._refValuesValue?(this.setCurrentToTextBox(this._refValuesValue[this._currentValue]),this._elementTextBox&&(this._elementTextBox.readOnly=!0)):(this.setCurrentToTextBox(this._currentValue),this._elementTextBox&&(this._elementTextBox.readOnly=this._serviceUpMethodValue||this._serviceDownMethodValue))},readValue:function(){if(this._elementTextBox){var e=this._elementTextBox.value;if(this._refValuesValue){if(e){for(var t=0,i=0;i<this._refValuesValue.length;i++)e.toLowerCase()==this._refValuesValue[i].toLowerCase()&&(t=i);this._currentValue=t}else this._currentValue=0;this.setCurrentToTextBox(this._refValuesValue[this._currentValue])}else{if(e)try{this._currentValue=parseFloat(e)}catch(e){this._currentValue=this._min}else this._currentValue=this._min;isNaN(this._currentValue)&&(this._currentValue=this._min),this.setCurrentToTextBox(this._currentValue),this._valuePrecision=this._computePrecision(this._currentValue)}}},setCurrentToTextBox:function(e){if(this._elementTextBox)if(this._elementTextBox.value=e,this.raise_currentChanged(e),document.createEvent){var t=document.createEvent("HTMLEvents");t.initEvent("change",!0,!1),this._elementTextBox.dispatchEvent(t)}else document.createEventObject&&this._elementTextBox.fireEvent("onchange")},_incrementValue:function(e){var t=parseFloat((this._currentValue+e).toFixed(Math.max(this._stepPrecision,this._valuePrecision)));e>0?this._currentValue=Math.max(Math.min(t,this._max),this._min):this._currentValue=Math.min(Math.max(t,this._min),this._max)},_computePrecision:function(e){if(e==Number.Nan)return 0;var t=e.toString();if(t){var i=/\.(\d*)$/,n=t.match(i);if(n&&2==n.length&&n[1])return n[1].length}return 0},get_width:function(){return this._widthValue},set_width:function(e){this._widthValue!=e&&(this._widthValue=e,this.raisePropertyChanged("width"))},get_Width:function(){return Sys.Extended.Deprecated("get_Width()","get_width()"),this.get_width()},set_Width:function(e){Sys.Extended.Deprecated("set_Width(value)","set_width(value)"),this.set_width(e)},get_tag:function(){return this._tagValue},set_tag:function(e){this._tagValue!=e&&(this._tagValue=e,this.raisePropertyChanged("tag"))},get_Tag:function(){return Sys.Extended.Deprecated("get_Tag()","get_tag()"),this.get_tag()},set_Tag:function(e){Sys.Extended.Deprecated("set_Tag(value)","set_tag(value)"),this.set_tag(e)},get_targetButtonUpID:function(){return this._targetButtonUpIDValue},set_targetButtonUpID:function(e){this._targetButtonUpIDValue!=e&&(this._targetButtonUpIDValue=e,this.raisePropertyChanged("targetButtonUpID"))},get_TargetButtonUpID:function(){return Sys.Extended.Deprecated("get_TargetButtonUpID()","get_targetButtonUpID()"),this.get_targetButtonUpID()},set_TargetButtonUpID:function(e){Sys.Extended.Deprecated("set_TargetButtonUpID(value)","set_targetButtonUpID(value)"),this.set_targetButtonUpID(e)},get_targetButtonDownID:function(){return this._targetButtonDownIDValue},set_targetButtonDownID:function(e){this._targetButtonDownIDValue!=e&&(this._targetButtonDownIDValue=e,this.raisePropertyChanged("targetButtonDownID"))},get_TargetButtonDownID:function(){return Sys.Extended.Deprecated("get_TargetButtonDownID()","get_targetButtonDownID()"),this.get_targetButtonDownID()},set_TargetButtonDownID:function(e){Sys.Extended.Deprecated("set_TargetButtonDownID(value)","set_targetButtonDownID(value)"),this.set_targetButtonDownID(e)},get_serviceUpPath:function(){return this._serviceUpPathValue},set_serviceUpPath:function(e){this._serviceUpPathValue!=e&&(this._serviceUpPathValue=e,this.raisePropertyChanged("serviceUpPath"))},get_ServiceUpPath:function(){return Sys.Extended.Deprecated("get_ServiceUpPath()","get_serviceUpPath()"),this.get_serviceUpPath()},set_ServiceUpPath:function(e){Sys.Extended.Deprecated("set_ServiceUpPath(value)","set_serviceUpPath(value)"),this.set_serviceUpPath(e)},get_serviceUpMethod:function(){return this._serviceUpMethodValue},set_serviceUpMethod:function(e){this._serviceUpMethodValue!=e&&(this._serviceUpMethodValue=e,this.raisePropertyChanged("serviceUpMethod"),this._elementTextBox&&(this._elementTextBox.readOnly=!0))},get_ServiceUpMethod:function(){return Sys.Extended.Deprecated("get_ServiceUpMethod()","get_serviceUpMethod()"),this.get_serviceUpMethod()},set_ServiceUpMethod:function(e){Sys.Extended.Deprecated("set_ServiceUpMethod(value)","set_serviceUpMethod(value)"),this.set_serviceUpMethod(e)},get_serviceDownPath:function(){return this._serviceDownPathValue},set_serviceDownPath:function(e){this._serviceDownPathValue!=e&&(this._serviceDownPathValue=e,this.raisePropertyChanged("serviceDownPath"))},get_ServiceDownPath:function(){return Sys.Extended.Deprecated("get_ServiceDownPath()","get_serviceDownPath()"),this.get_serviceDownPath()},set_ServiceDownPath:function(e){Sys.Extended.Deprecated("set_ServiceDownPath(value)","set_serviceDownPath(value)"),this.set_serviceDownPath(e)},get_serviceDownMethod:function(){return this._serviceDownMethodValue},set_serviceDownMethod:function(e){this._serviceDownMethodValue!=e&&(this._serviceDownMethodValue=e,this.raisePropertyChanged("serviceDownMethod"),this._elementTextBox&&(this._elementTextBox.readOnly=!0))},get_ServiceDownMethod:function(){return Sys.Extended.Deprecated("get_ServiceDownMethod()","get_serviceDownMethod()"),this.get_serviceDownMethod()},set_ServiceDownMethod:function(e){Sys.Extended.Deprecated("set_ServiceDownMethod(value)","set_serviceDownMethod(value)"),this.set_serviceDownMethod(e)},get_refValues:function(){return this._refValuesValue?this._refValuesValue.join(";"):""},set_refValues:function(e){""!=e?(this._refValuesValue=e.split(";"),this._onChange(),this._elementTextBox&&(this._elementTextBox.readOnly=!0)):(this._refValuesValue=null,this._elementTextBox&&(this._elementTextBox.readOnly=!1)),this.raisePropertyChanged("refValues")},get_RefValues:function(){return Sys.Extended.Deprecated("get_RefValues()","get_refValues()"),this.get_refValues()},set_RefValues:function(e){Sys.Extended.Deprecated("set_RefValues(value)","set_refValues(value)"),this.set_refValues(e)},get_step:function(){return this._step},set_step:function(e){e!=this._step&&(this._step=e,this._stepPrecision=this._computePrecision(e),this.raisePropertyChanged("step"))},get_Step:function(){return Sys.Extended.Deprecated("get_Step()","get_step()"),this.get_step()},set_Step:function(e){Sys.Extended.Deprecated("set_Step(value)","set_step(value)"),this.set_step(e)},get_minimum:function(){return this._min},set_minimum:function(e){e!=this._min&&(this._min=e,this.raisePropertyChanged("minimum"))},get_Minimum:function(){return Sys.Extended.Deprecated("get_Minimum()","get_minimum()"),this.get_minimum()},set_Minimum:function(e){Sys.Extended.Deprecated("set_Minimum(value)","set_minimum(value)"),this.set_minimum(e)},get_maximum:function(){return this._max},set_maximum:function(e){e!=this._max&&(this._max=e,this.raisePropertyChanged("maximum"))},get_Maximum:function(){return Sys.Extended.Deprecated("get_Maximum()","get_maximum()"),this.get_maximum()},set_Maximum:function(e){Sys.Extended.Deprecated("set_Maximum(value)","set_maximum(value)"),this.set_maximum(e)},_clickUp:function(e){return this.readValue(),this._serviceUpPathValue&&this._serviceUpMethodValue?(Sys.Net.WebServiceProxy.invoke(this._serviceUpPathValue,this._serviceUpMethodValue,!1,{current:this._currentValue,tag:this._tagValue},Function.createDelegate(this,this._onMethodUpDownComplete)),$common.updateFormToRefreshATDeviceBuffer()):this._refValuesValue?this._currentValue+1<this._refValuesValue.length&&(this._currentValue=this._currentValue+1,this.setCurrentToTextBox(this._refValuesValue[this._currentValue])):(this._incrementValue(this._step),this.setCurrentToTextBox(this._currentValue)),e&&e.preventDefault(),!1},_clickDown:function(e){return this.readValue(),this._serviceDownPathValue&&this._serviceDownMethodValue?(Sys.Net.WebServiceProxy.invoke(this._serviceDownPathValue,this._serviceDownMethodValue,!1,{current:this._currentValue,tag:this._tagValue},Function.createDelegate(this,this._onMethodUpDownComplete)),$common.updateFormToRefreshATDeviceBuffer()):this._refValuesValue?this._currentValue-1>=0&&(this._currentValue=this._currentValue-1,this.setCurrentToTextBox(this._refValuesValue[this._currentValue])):(this._incrementValue(-this._step),this.setCurrentToTextBox(this._currentValue)),e&&e.preventDefault(),!1},_onMethodUpDownComplete:function(e,t,i){this._currentValue=e,this.setCurrentToTextBox(this._currentValue)}},Sys.Extended.UI.NumericUpDownBehavior.registerClass("Sys.Extended.UI.NumericUpDownBehavior",Sys.Extended.UI.BehaviorBase);