1 line
13 KiB
JavaScript
1 line
13 KiB
JavaScript
Type.registerNamespace("Sys.Extended.UI");Sys.Extended.UI.NumericUpDownBehavior=function(n){Sys.Extended.UI.NumericUpDownBehavior.initializeBase(this,[n]);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(){var n,t;if(Sys.Extended.UI.NumericUpDownBehavior.callBaseMethod(this,"initialize"),$common.prepareHiddenElementForATDeviceUpdate(),n=this.get_element(),this._elementTextBox=n,this._elementTextBox.readOnly=this._refValuesValue||this._serviceUpMethodValue||this._serviceDownMethodValue?!0:!1,this.readValue(),this._changeHandler=Function.createDelegate(this,this._onChange),$addHandler(n,"blur",this._changeHandler),!this._targetButtonUpIDValue||!this._targetButtonDownIDValue){this._widthValue=Math.max(this._widthValue,24);n.style.width=this._widthValue-24+"px";n.style.textAlign="center";t=document.createElement("DIV");t.style.position="relative";t.style.width=this._widthValue+"px";t.style.fontSize=n.clientHeight+"px";t.style.height=n.clientHeight+"px";t.style.paddingRight="24px";t.style.display=Sys.Browser.agent==Sys.Browser.Firefox||Sys.Browser.agent==Sys.Browser.Safari?"inline-block":"inline";n.parentNode.insertBefore(t,n);var i=document.createElement("TABLE"),e=document.createElement("TBODY"),o=document.createElement("TR"),s=document.createElement("TR"),r=document.createElement("TD"),u=document.createElement("TD"),f=document.createElement("TD");r.rowSpan="2";r.style.verticalAlign="middle";u.style.verticalAlign="bottom";u.style.lineHeight="0";f.style.verticalAlign="top";f.style.lineHeight="0";o.appendChild(r);o.appendChild(u);s.appendChild(f);e.appendChild(o);e.appendChild(s);i.appendChild(e);t.appendChild(i);n.parentNode.removeChild(n);r.appendChild(n);i.style.borderCollapse="collapse";i.className+="ajax__numericupdown_container";i.style.display="inline";i.style.position="relative";r.style.padding="0";u.style.padding="0";f.style.padding="0";r.style.margin="0";u.style.margin="0";f.style.margin="0"}this._targetButtonUpIDValue||(this._bUp=document.createElement("input"),this._bUp.type="button",this._bUp.id=n.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",u.appendChild(this._bUp));this._targetButtonDownIDValue||(this._bDown=document.createElement("input"),this._bDown.type="button",this._bDown.id=n.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",f.appendChild(this._bDown));this._bUp==null&&(this._bUp=document.getElementById(this._targetButtonUpIDValue));this._bUp&&(this._clickUpHandler=Function.createDelegate(this,this._clickUp),$addHandler(this._bUp,"click",this._clickUpHandler));this._bDown==null&&(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(n){this.get_events().addHandler("currentChanged",n)},remove_currentChanged:function(n){this.get_events().removeHandler("currentChanged",n)},raise_currentChanged:function(n){var t=this.get_events().getHandler("currentChanged");t&&(n||(n=Sys.EventArgs.Empty),t(this,n))},raiseCurrentChanged:function(n){Sys.Extended.Deprecated("raiseCurrentChanged(eventArgs)","raise_currentChanged(eventArgs)");this.raise_currentChanged(n)},_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(){var n,i,t;if(this._elementTextBox)if(n=this._elementTextBox.value,this._refValuesValue){if(n){for(i=0,t=0;t<this._refValuesValue.length;t++)n.toLowerCase()==this._refValuesValue[t].toLowerCase()&&(i=t);this._currentValue=i}else this._currentValue=0;this.setCurrentToTextBox(this._refValuesValue[this._currentValue])}else{if(n)try{this._currentValue=parseFloat(n)}catch(r){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(n){if(this._elementTextBox)if(this._elementTextBox.value=n,this.raise_currentChanged(n),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(n){var t=parseFloat((this._currentValue+n).toFixed(Math.max(this._stepPrecision,this._valuePrecision)));this._currentValue=n>0?Math.max(Math.min(t,this._max),this._min):Math.min(Math.max(t,this._min),this._max)},_computePrecision:function(n){var i,r,t;return n==Number.Nan?0:(i=n.toString(),i&&(r=/\.(\d*)$/,t=i.match(r),t&&t.length==2&&t[1]))?t[1].length:0},get_width:function(){return this._widthValue},set_width:function(n){this._widthValue!=n&&(this._widthValue=n,this.raisePropertyChanged("width"))},get_Width:function(){return Sys.Extended.Deprecated("get_Width()","get_width()"),this.get_width()},set_Width:function(n){Sys.Extended.Deprecated("set_Width(value)","set_width(value)");this.set_width(n)},get_tag:function(){return this._tagValue},set_tag:function(n){this._tagValue!=n&&(this._tagValue=n,this.raisePropertyChanged("tag"))},get_Tag:function(){return Sys.Extended.Deprecated("get_Tag()","get_tag()"),this.get_tag()},set_Tag:function(n){Sys.Extended.Deprecated("set_Tag(value)","set_tag(value)");this.set_tag(n)},get_targetButtonUpID:function(){return this._targetButtonUpIDValue},set_targetButtonUpID:function(n){this._targetButtonUpIDValue!=n&&(this._targetButtonUpIDValue=n,this.raisePropertyChanged("targetButtonUpID"))},get_TargetButtonUpID:function(){return Sys.Extended.Deprecated("get_TargetButtonUpID()","get_targetButtonUpID()"),this.get_targetButtonUpID()},set_TargetButtonUpID:function(n){Sys.Extended.Deprecated("set_TargetButtonUpID(value)","set_targetButtonUpID(value)");this.set_targetButtonUpID(n)},get_targetButtonDownID:function(){return this._targetButtonDownIDValue},set_targetButtonDownID:function(n){this._targetButtonDownIDValue!=n&&(this._targetButtonDownIDValue=n,this.raisePropertyChanged("targetButtonDownID"))},get_TargetButtonDownID:function(){return Sys.Extended.Deprecated("get_TargetButtonDownID()","get_targetButtonDownID()"),this.get_targetButtonDownID()},set_TargetButtonDownID:function(n){Sys.Extended.Deprecated("set_TargetButtonDownID(value)","set_targetButtonDownID(value)");this.set_targetButtonDownID(n)},get_serviceUpPath:function(){return this._serviceUpPathValue},set_serviceUpPath:function(n){this._serviceUpPathValue!=n&&(this._serviceUpPathValue=n,this.raisePropertyChanged("serviceUpPath"))},get_ServiceUpPath:function(){return Sys.Extended.Deprecated("get_ServiceUpPath()","get_serviceUpPath()"),this.get_serviceUpPath()},set_ServiceUpPath:function(n){Sys.Extended.Deprecated("set_ServiceUpPath(value)","set_serviceUpPath(value)");this.set_serviceUpPath(n)},get_serviceUpMethod:function(){return this._serviceUpMethodValue},set_serviceUpMethod:function(n){this._serviceUpMethodValue!=n&&(this._serviceUpMethodValue=n,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(n){Sys.Extended.Deprecated("set_ServiceUpMethod(value)","set_serviceUpMethod(value)");this.set_serviceUpMethod(n)},get_serviceDownPath:function(){return this._serviceDownPathValue},set_serviceDownPath:function(n){this._serviceDownPathValue!=n&&(this._serviceDownPathValue=n,this.raisePropertyChanged("serviceDownPath"))},get_ServiceDownPath:function(){return Sys.Extended.Deprecated("get_ServiceDownPath()","get_serviceDownPath()"),this.get_serviceDownPath()},set_ServiceDownPath:function(n){Sys.Extended.Deprecated("set_ServiceDownPath(value)","set_serviceDownPath(value)");this.set_serviceDownPath(n)},get_serviceDownMethod:function(){return this._serviceDownMethodValue},set_serviceDownMethod:function(n){this._serviceDownMethodValue!=n&&(this._serviceDownMethodValue=n,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(n){Sys.Extended.Deprecated("set_ServiceDownMethod(value)","set_serviceDownMethod(value)");this.set_serviceDownMethod(n)},get_refValues:function(){return this._refValuesValue?this._refValuesValue.join(";"):""},set_refValues:function(n){n!=""?(this._refValuesValue=n.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(n){Sys.Extended.Deprecated("set_RefValues(value)","set_refValues(value)");this.set_refValues(n)},get_step:function(){return this._step},set_step:function(n){n!=this._step&&(this._step=n,this._stepPrecision=this._computePrecision(n),this.raisePropertyChanged("step"))},get_Step:function(){return Sys.Extended.Deprecated("get_Step()","get_step()"),this.get_step()},set_Step:function(n){Sys.Extended.Deprecated("set_Step(value)","set_step(value)");this.set_step(n)},get_minimum:function(){return this._min},set_minimum:function(n){n!=this._min&&(this._min=n,this.raisePropertyChanged("minimum"))},get_Minimum:function(){return Sys.Extended.Deprecated("get_Minimum()","get_minimum()"),this.get_minimum()},set_Minimum:function(n){Sys.Extended.Deprecated("set_Minimum(value)","set_minimum(value)");this.set_minimum(n)},get_maximum:function(){return this._max},set_maximum:function(n){n!=this._max&&(this._max=n,this.raisePropertyChanged("maximum"))},get_Maximum:function(){return Sys.Extended.Deprecated("get_Maximum()","get_maximum()"),this.get_maximum()},set_Maximum:function(n){Sys.Extended.Deprecated("set_Maximum(value)","set_maximum(value)");this.set_maximum(n)},_clickUp:function(n){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)),n&&n.preventDefault(),!1},_clickDown:function(n){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)),n&&n.preventDefault(),!1},_onMethodUpDownComplete:function(n){this._currentValue=n;this.setCurrentToTextBox(this._currentValue)}};Sys.Extended.UI.NumericUpDownBehavior.registerClass("Sys.Extended.UI.NumericUpDownBehavior",Sys.Extended.UI.BehaviorBase); |