Number.min.js 3.0 KB

1
  1. MWF.xDesktop.requireApp("process.Xform","Textfield",null,false);MWF.xApplication.process.Xform.Number=MWF.APPNumber=new Class({Implements:[Events],Extends:MWF.APPTextfield,iconStyle:"numberIcon",getInputData:function(){debugger;var t=this.node.getElement("input").get("value").toFloat();return isNaN(t)?0:t},validationFormat:function(){var t=this.node.getElement("input").get("value");if(isNaN(t)){this.notValidationMode(MWF.xApplication.process.Xform.LP.notValidation_number);return false}var i=t.toFloat();if(i){if(this.json.decimals&&this.json.decimals!="*"){var e=Math.pow(10,this.json.decimals);var n=Math.round(i*e)/e;var a=n.toString();var o=a.indexOf(".");if(o<0){o=a.length;a+="."}while(a.length<=o+2){a+="0"}this.node.set("value",a)}}return true},validationConfigItem:function(t,i){var e=i.status=="all"?true:t==i.decision;if(e){var n=this.getInputData();var a=i.valueType=="value"?n:n.length;switch(i.operateor){case"isnull":if(!a){this.notValidationMode(i.prompt);return false}break;case"notnull":if(a){this.notValidationMode(i.prompt);return false}break;case"gt":if(a>i.value){this.notValidationMode(i.prompt);return false}break;case"lt":if(a<i.value){this.notValidationMode(i.prompt);return false}break;case"equal":if(a==i.value){this.notValidationMode(i.prompt);return false}break;case"neq":if(a!=i.value){this.notValidationMode(i.prompt);return false}break;case"contain":if(a.indexOf(i.value)!=-1){this.notValidationMode(i.prompt);return false}break;case"notcontain":if(a.indexOf(i.value)==-1){this.notValidationMode(i.prompt);return false}break}}return true},validationConfig:function(t,i){if(this.json.validationConfig){if(this.json.validationConfig.length){for(var e=0;e<this.json.validationConfig.length;e++){var n=this.json.validationConfig[e];if(!this.validationConfigItem(t,n))return false}}return true}return true},validation:function(t,i){if(!this.validationFormat())return false;if(!this.validationConfig(t,i))return false;if(!this.json.validation)return true;if(!this.json.validation.code)return true;var e=this.form.Macro.exec(this.json.validation.code,this);if(!e)e=MWF.xApplication.process.Xform.LP.notValidation;if(e.toString()!="true"){this.notValidationMode(e);return false}return true},_loadNodeEdit:function(){var t=new Element("input",{styles:{background:"transparent",width:"100%",border:"0px"}});t.set(this.json.properties);var i=new Element("div",{styles:{overflow:"hidden",position:"relative","margin-right":"20px"}}).inject(this.node,"after");t.inject(i);this.node.destroy();this.node=i;this.node.set({id:this.json.id,MWFType:this.json.type,events:{click:this.clickSelect.bind(this)}});this.iconNode=new Element("div",{styles:this.form.css[this.iconStyle]}).inject(this.node,"before");this.node.getFirst().addEvent("change",function(){this.validationMode();if(this.validation())this._setBusinessData(this.getInputData("change"))}.bind(this));this.node.getFirst().addEvent("blur",function(){this.validation()}.bind(this));this.node.getFirst().addEvent("keyup",function(){this.validationMode()}.bind(this))}});