roojs-bootstrap.js
authoredward <edward@roojs.com>
Tue, 24 Apr 2018 10:23:26 +0000 (18:23 +0800)
committeredward <edward@roojs.com>
Tue, 24 Apr 2018 10:23:26 +0000 (18:23 +0800)
roojs-bootstrap-debug.js

roojs-bootstrap-debug.js
roojs-bootstrap.js

index 2a7d421..1f81a8a 100644 (file)
@@ -39998,6 +39998,8 @@ Roo.extend(Roo.bootstrap.MoneyField, Roo.bootstrap.ComboBox, {
     
     initEvents : function()
     {
+        this.indicator = this.indicatorEl();
+        
         this.initCurrencyEvent();
         
         this.initNumberEvent();
@@ -40015,8 +40017,6 @@ Roo.extend(Roo.bootstrap.MoneyField, Roo.bootstrap.ComboBox, {
         
         this.createList();
         
-        this.indicator = this.indicatorEl();
-        
         this.triggerEl = this.el.select('.input-group-addon', true).first();
         
         this.triggerEl.on("click", this.onTriggerClick, this, { preventDefault : true });
@@ -40105,6 +40105,36 @@ Roo.extend(Roo.bootstrap.MoneyField, Roo.bootstrap.ComboBox, {
     
     initNumberEvent : function(e)
     {
+        this.inputEl().on("keydown" , this.fireKey,  this);
+        this.inputEl().on("focus", this.onFocus,  this);
+        this.inputEl().on("blur", this.onBlur,  this);
+        
+        this.inputEl().relayEvent('keyup', this);
+        
+        if(this.indicator){
+            this.indicator.addClass('invisible');
+        }
+        this.originalValue = this.getValue();
+        
+        if(this.validationEvent == 'keyup'){
+            this.validationTask = new Roo.util.DelayedTask(this.validate, this);
+            this.inputEl().on('keyup', this.filterValidation, this);
+        }
+        else if(this.validationEvent !== false){
+            this.inputEl().on(this.validationEvent, this.validate, this, {buffer: this.validationDelay});
+        }
+        
+        if(this.selectOnFocus){
+            this.on("focus", this.preFocus, this);
+            
+        }
+        if(this.maskRe || (this.vtype && this.disableKeyFilter !== true && (this.maskRe = Roo.form.VTypes[this.vtype+'Mask']))){
+            this.inputEl().on("keypress", this.filterKeys, this);
+        } else {
+            this.inputEl().relayEvent('keypress', this);
+        }
+        
         var allowed = "0123456789";
         
         if(this.allowDecimals){
@@ -40140,7 +40170,7 @@ Roo.extend(Roo.bootstrap.MoneyField, Roo.bootstrap.ComboBox, {
             }
         };
         
-        this.amountEl.on("keypress", keyPress, this);
+        this.inputEl().on("keypress", keyPress, this);
         
     },
     
@@ -40256,14 +40286,14 @@ Roo.extend(Roo.bootstrap.MoneyField, Roo.bootstrap.ComboBox, {
         this.value = v;
         
         if(this.rendered){
-            this.amountEl.dom.value = (v === null || v === undefined ? '' : v);
+            this.inputEl().dom.value = (v === null || v === undefined ? '' : v);
             this.validate();
         }
     },
     
     getRawValue : function()
     {
-        var v = this.amountEl.getValue();
+        var v = this.inputEl().getValue();
         
         return v;
     },
@@ -40342,6 +40372,47 @@ Roo.extend(Roo.bootstrap.MoneyField, Roo.bootstrap.ComboBox, {
     getName: function()
     {
         return this.name;
+    },
+    
+    beforeBlur : function()
+    {
+        if(!this.castInt){
+            return;
+        }
+        
+        var v = this.parseValue(this.getRawValue());
+        
+        if(v){
+            this.setValue(v);
+        }
+    },
+    
+    onBlur : function()
+    {
+        this.beforeBlur();
+        
+        if(!Roo.isOpera && this.focusClass){ // don't touch in Opera
+            //this.el.removeClass(this.focusClass);
+        }
+        
+        this.hasFocus = false;
+        
+        if(this.validationEvent !== false && this.validateOnBlur && this.validationEvent != "blur"){
+            this.validate();
+        }
+        
+        var v = this.getValue();
+        
+        if(String(v) !== String(this.startValue)){
+            this.fireEvent('change', this, v, this.startValue);
+        }
+        
+        this.fireEvent("blur", this);
+    },
+    
+    inputEl : function()
+    {
+        return this.amountEl ? this.amountEl : this.el.select('.roo-money-amount-input', true).first();
     }
     
 });
\ No newline at end of file
index 2eccad9..2f252a0 100644 (file)
@@ -1639,22 +1639,27 @@ var G=12-this.inputxs;var H={tag:'div',cls:'row roo-money-field',cn:[{tag:'div',
 ]}]};if(this.fieldLabel.length){var I={tag:'i',tooltip:'This field is required'};var J={tag:'label','for':id,cls:'control-label',cn:[]};var K={tag:'span',html:this.fieldLabel};I.cls='roo-required-indicator text-danger fa fa-lg fa-star left-indicator';J.cn=[I,K];
 if(this.indicatorpos=='right'){I.cls='roo-required-indicator text-danger fa fa-lg fa-star right-indicator';J.cn=[K,I];}if(A=='left'){H={tag:'div',cn:[H]};if(this.labelWidth>12){J.style="width: "+this.labelWidth+'px';}if(this.labelWidth<13&&this.labelmd==0){this.labelmd=this.labelWidth;
 }if(this.labellg>0){J.cls+=' col-lg-'+this.labellg;C.cls+=' col-lg-'+(12-this.labellg);}if(this.labelmd>0){J.cls+=' col-md-'+this.labelmd;H.cls+=' col-md-'+(12-this.labelmd);}if(this.labelsm>0){J.cls+=' col-sm-'+this.labelsm;H.cls+=' col-sm-'+(12-this.labelsm);
-}if(this.labelxs>0){J.cls+=' col-xs-'+this.labelxs;H.cls+=' col-xs-'+(12-this.labelxs);}}}B.cn=[J,H];var L=this;['xs','sm','md','lg'].map(function(M){if(L[M]){B.cls+=' col-'+M+'-'+L[M];}});return B;},initEvents:function(){this.initCurrencyEvent();this.initNumberEvent();
-},initCurrencyEvent:function(){if(!this.store){throw "can not find store for combo";}this.store=Roo.factory(this.store,Roo.data);this.store.parent=this;this.createList();this.indicator=this.indicatorEl();this.triggerEl=this.el.select('.input-group-addon',true).first();
+}if(this.labelxs>0){J.cls+=' col-xs-'+this.labelxs;H.cls+=' col-xs-'+(12-this.labelxs);}}}B.cn=[J,H];var L=this;['xs','sm','md','lg'].map(function(M){if(L[M]){B.cls+=' col-'+M+'-'+L[M];}});return B;},initEvents:function(){this.indicator=this.indicatorEl();
+this.initCurrencyEvent();this.initNumberEvent();},initCurrencyEvent:function(){if(!this.store){throw "can not find store for combo";}this.store=Roo.factory(this.store,Roo.data);this.store.parent=this;this.createList();this.triggerEl=this.el.select('.input-group-addon',true).first();
 this.triggerEl.on("click",this.onTriggerClick,this,{preventDefault:true});this.currencyEl=this.el.select('.roo-money-currency-input',true).first();this.amountEl=this.el.select('.roo-money-amount-input',true).first();var A=this;(function(){var lw=A.listWidth||Math.max(A.inputEl().getWidth(),A.minListWidth);
 A.list.setWidth(lw);}).defer(100);this.list.on('mouseover',this.onViewOver,this);this.list.on('mousemove',this.onViewMove,this);this.list.on('scroll',this.onViewScroll,this);if(!this.tpl){this.tpl='<li><a href="#">{'+this.currencyField+'}</a></li>';}this.view=new Roo.View(this.list,this.tpl,{singleSelect:true,store:this.store,selectedClass:this.selectedClass}
 );this.view.on('click',this.onViewClick,this);this.store.on('beforeload',this.onBeforeLoad,this);this.store.on('load',this.onLoad,this);this.store.on('loadexception',this.onLoadException,this);this.keyNav=new Roo.KeyNav(this.currencyEl,{"up":function(e){this.inKeyMode=true;
 this.selectPrev();},"down":function(e){if(!this.isExpanded()){this.onTriggerClick();}else{this.inKeyMode=true;this.selectNext();}},"enter":function(e){this.collapse();if(this.fireEvent("specialkey",this,e)){this.onViewClick(false);}return true;},"esc":function(e){this.collapse();
 },"tab":function(e){this.collapse();if(this.fireEvent("specialkey",this,e)){this.onViewClick(false);}return true;},scope:this,doRelay:function(B,C,D){if(D=='down'||this.scope.isExpanded()){return Roo.KeyNav.prototype.doRelay.apply(this,arguments);}return true;
-},forceKeyDown:true});},initNumberEvent:function(e){var A="0123456789";if(this.allowDecimals){A+=this.decimalSeparator;}if(this.allowNegative){A+="-";}this.stripCharsRe=new RegExp('[^'+A+']','gi');var B=function(e){var k=e.getKey();var c=e.getCharCode();if((String.fromCharCode(c)=='.'||String.fromCharCode(c)=='-')&&A.indexOf(String.fromCharCode(c))===-1){e.stopEvent();
-return;}if(!Roo.isIE&&(e.isSpecialKey()||k==e.BACKSPACE||k==e.DELETE)){return;}if(A.indexOf(String.fromCharCode(c))===-1){e.stopEvent();}};this.amountEl.on("keypress",B,this);},onTriggerClick:function(e){if(this.disabled){return;}this.page=0;this.loadNext=false;
+},forceKeyDown:true});},initNumberEvent:function(e){this.inputEl().on("keydown",this.fireKey,this);this.inputEl().on("focus",this.onFocus,this);this.inputEl().on("blur",this.onBlur,this);this.inputEl().relayEvent('keyup',this);if(this.indicator){this.indicator.addClass('invisible');
+}this.originalValue=this.getValue();if(this.validationEvent=='keyup'){this.validationTask=new Roo.util.DelayedTask(this.validate,this);this.inputEl().on('keyup',this.filterValidation,this);}else if(this.validationEvent!==false){this.inputEl().on(this.validationEvent,this.validate,this,{buffer:this.validationDelay}
+);}if(this.selectOnFocus){this.on("focus",this.preFocus,this);}if(this.maskRe||(this.vtype&&this.disableKeyFilter!==true&&(this.maskRe=Roo.form.VTypes[this.vtype+'Mask']))){this.inputEl().on("keypress",this.filterKeys,this);}else{this.inputEl().relayEvent('keypress',this);
+}var A="0123456789";if(this.allowDecimals){A+=this.decimalSeparator;}if(this.allowNegative){A+="-";}this.stripCharsRe=new RegExp('[^'+A+']','gi');var B=function(e){var k=e.getKey();var c=e.getCharCode();if((String.fromCharCode(c)=='.'||String.fromCharCode(c)=='-')&&A.indexOf(String.fromCharCode(c))===-1){e.stopEvent();
+return;}if(!Roo.isIE&&(e.isSpecialKey()||k==e.BACKSPACE||k==e.DELETE)){return;}if(A.indexOf(String.fromCharCode(c))===-1){e.stopEvent();}};this.inputEl().on("keypress",B,this);},onTriggerClick:function(e){if(this.disabled){return;}this.page=0;this.loadNext=false;
 if(this.isExpanded()){this.collapse();return;}this.hasFocus=true;if(this.triggerAction=='all'){this.doQuery(this.allQuery,true);return;}this.doQuery(this.getRawValue());},getCurrency:function(){var v=this.currencyEl.getValue();return v;},restrictHeight:function(){this.list.alignTo(this.currencyEl,this.listAlign);
 this.list.alignTo(this.currencyEl,this.listAlign);},onViewClick:function(A,B,el,e){var C=this.view.getSelectedIndexes()[0];var r=this.store.getAt(C);if(r){this.onSelect(r,C);}},onSelect:function(A,B){if(this.fireEvent('beforeselect',this,A,B)!==false){this.setFromCurrencyData(B>-1?A.data:false);
 this.collapse();this.fireEvent('select',this,A,B);}},setFromCurrencyData:function(o){var A='';this.lastCurrency=o;if(this.currencyName){A=!o||typeof(o[this.currencyName])=='undefined'?'':o[this.currencyName];}else{Roo.log('no  currencyName value set for '+(this.name?this.name:this.id));
 }this.lastSelectionText=A;this.setCurrency(A);},setFromData:function(o){this.setFromCurrencyData(o);var A='';if(this.name){A=!o||typeof(o[this.name])=='undefined'?'':o[this.name];}else{Roo.log('no value set for '+(this.name?this.name:this.id));}this.setValue(A);
-},setCurrency:function(v){this.currencyValue=v;if(this.rendered){this.currencyEl.dom.value=(v===null||v===undefined?'':v);this.validate();}},setValue:function(v){v=this.fixPrecision(v);v=String(v).replace(".",this.decimalSeparator);this.value=v;if(this.rendered){this.amountEl.dom.value=(v===null||v===undefined?'':v);
-this.validate();}},getRawValue:function(){var v=this.amountEl.getValue();return v;},getValue:function(){return this.fixPrecision(this.parseValue(this.getRawValue()));},parseValue:function(A){A=parseFloat(String(A).replace(this.decimalSeparator,"."));return isNaN(A)?'':A;
+},setCurrency:function(v){this.currencyValue=v;if(this.rendered){this.currencyEl.dom.value=(v===null||v===undefined?'':v);this.validate();}},setValue:function(v){v=this.fixPrecision(v);v=String(v).replace(".",this.decimalSeparator);this.value=v;if(this.rendered){this.inputEl().dom.value=(v===null||v===undefined?'':v);
+this.validate();}},getRawValue:function(){var v=this.inputEl().getValue();return v;},getValue:function(){return this.fixPrecision(this.parseValue(this.getRawValue()));},parseValue:function(A){A=parseFloat(String(A).replace(this.decimalSeparator,"."));return isNaN(A)?'':A;
 },fixPrecision:function(A){var B=isNaN(A);if(!this.allowDecimals||this.decimalPrecision==-1||B||!A){return B?'':A;}return parseFloat(A).toFixed(this.decimalPrecision);},decimalPrecisionFcn:function(v){return Math.floor(v);},validateValue:function(A){if(!Roo.bootstrap.MoneyField.superclass.validateValue.call(this,A)){return false;
 }var B=this.parseValue(A);if(isNaN(B)){this.markInvalid(String.format(this.nanText,A));return false;}if(B<this.minValue){this.markInvalid(String.format(this.minText,this.minValue));return false;}if(B>this.maxValue){this.markInvalid(String.format(this.maxText,this.maxValue));
 return false;}return true;},validate:function(){if(this.disabled){this.markValid();return true;}var A=this.getCurrency();if(this.validateValue(this.getRawValue())&&A.length){this.markValid();return true;}this.markInvalid();return false;},getName:function(){return this.name;
-}});
+},beforeBlur:function(){if(!this.castInt){return;}var v=this.parseValue(this.getRawValue());if(v){this.setValue(v);}},onBlur:function(){this.beforeBlur();if(!Roo.isOpera&&this.focusClass){}this.hasFocus=false;if(this.validationEvent!==false&&this.validateOnBlur&&this.validationEvent!="blur"){this.validate();
+}var v=this.getValue();if(String(v)!==String(this.startValue)){this.fireEvent('change',this,v,this.startValue);}this.fireEvent("blur",this);},inputEl:function(){return this.amountEl?this.amountEl:this.el.select('.roo-money-amount-input',true).first();}});
+