From d01a4dba6310ab6dc6fe56d60b0458a4769d3b83 Mon Sep 17 00:00:00 2001 From: Alan Knowles Date: Mon, 29 Jul 2019 13:43:46 +0800 Subject: [PATCH] Fix #5956 - handle file input with stripping text --- Roo/form/TextField.js | 4 ++++ roojs-all.js | 4 ++-- roojs-debug.js | 4 ++++ roojs-ui-debug.js | 4 ++++ roojs-ui.js | 4 ++-- 5 files changed, 16 insertions(+), 4 deletions(-) diff --git a/Roo/form/TextField.js b/Roo/form/TextField.js index 825f87feed..a50d6ca2ec 100644 --- a/Roo/form/TextField.js +++ b/Roo/form/TextField.js @@ -174,6 +174,10 @@ Roo.extend(Roo.form.TextField, Roo.form.Field, { // private - clean the leading white space cleanLeadingSpace : function(e) { + if (this.inputType == 'file') { + return; + } + this.setValue((this.getValue() + '').replace(/^\s+/,'')); }, /** diff --git a/roojs-all.js b/roojs-all.js index aa18255778..2c448a5558 100644 --- a/roojs-all.js +++ b/roojs-all.js @@ -1612,8 +1612,8 @@ Roo.form.TextField=function(A){Roo.form.TextField.superclass.constructor.call(th }Roo.form.TextField.superclass.initEvents.call(this);if(this.validationEvent=='keyup'){this.validationTask=new Roo.util.DelayedTask(this.validate,this);this.el.on('keyup',this.filterValidation,this);}else if(this.validationEvent!==false){this.el.on(this.validationEvent,this.validate,this,{buffer:this.validationDelay} );}if(this.selectOnFocus){this.on("focus",this.preFocus,this);}if(!this.allowLeadingSpace){this.on('blur',this.cleanLeadingSpace,this);}if(this.maskRe||(this.vtype&&this.disableKeyFilter!==true&&(this.maskRe=Roo.form.VTypes[this.vtype+'Mask']))){this.el.on("keypress",this.filterKeys,this); }if(this.grow){this.el.on("keyup",this.onKeyUp,this,{buffer:50});this.el.on("click",this.autoSize,this);}if(this.el.is('input[type=password]')&&Roo.isSafari){this.el.on('keydown',this.SafariOnKeyDown,this);}},processValue:function(A){if(this.stripCharsRe){var B=A.replace(this.stripCharsRe,''); -if(B!==A){this.setRawValue(B);return B;}}return A;},filterValidation:function(e){if(!e.isNavKeyPress()){this.validationTask.delay(this.validationDelay);}},onKeyUp:function(e){if(!e.isNavKeyPress()){this.autoSize();}},cleanLeadingSpace:function(e){this.setValue((this.getValue()+'').replace(/^\s+/,'')); -},reset:function(){Roo.form.TextField.superclass.reset.call(this);},preFocus:function(){if(this.selectOnFocus){this.el.dom.select();}},filterKeys:function(e){var k=e.getKey();if(!Roo.isIE&&(e.isNavKeyPress()||k==e.BACKSPACE||(k==e.DELETE&&e.button==-1))){return; +if(B!==A){this.setRawValue(B);return B;}}return A;},filterValidation:function(e){if(!e.isNavKeyPress()){this.validationTask.delay(this.validationDelay);}},onKeyUp:function(e){if(!e.isNavKeyPress()){this.autoSize();}},cleanLeadingSpace:function(e){if(this.inputType=='file'){return; +}this.setValue((this.getValue()+'').replace(/^\s+/,''));},reset:function(){Roo.form.TextField.superclass.reset.call(this);},preFocus:function(){if(this.selectOnFocus){this.el.dom.select();}},filterKeys:function(e){var k=e.getKey();if(!Roo.isIE&&(e.isNavKeyPress()||k==e.BACKSPACE||(k==e.DELETE&&e.button==-1))){return; }var c=e.getCharCode(),cc=String.fromCharCode(c);if(Roo.isIE&&(e.isSpecialKey()||!cc)){return;}if(!this.maskRe.test(cc)){e.stopEvent();}},setValue:function(v){Roo.form.TextField.superclass.setValue.apply(this,arguments);this.autoSize();},validateValue:function(A){if(A.length<1){if(this.allowBlank){this.clearInvalid(); return true;}else{this.markInvalid(this.blankText);return false;}}if(A.lengththis.maxLength){this.markInvalid(String.format(this.maxLengthText,this.maxLength)); return false;}if(this.vtype){var vt=Roo.form.VTypes;if(!vt[this.vtype](A,this)){this.markInvalid(this.vtypeText||vt[this.vtype+'Text']);return false;}}if(typeof this.validator=="function"){var B=this.validator(A);if(B!==true){this.markInvalid(B);return false; diff --git a/roojs-debug.js b/roojs-debug.js index 8541c8ddde..5fb01cc41a 100644 --- a/roojs-debug.js +++ b/roojs-debug.js @@ -39532,6 +39532,10 @@ Roo.extend(Roo.form.TextField, Roo.form.Field, { // private - clean the leading white space cleanLeadingSpace : function(e) { + if (this.inputType == 'file') { + return; + } + this.setValue((this.getValue() + '').replace(/^\s+/,'')); }, /** diff --git a/roojs-ui-debug.js b/roojs-ui-debug.js index ac4042bc59..1b261d389d 100644 --- a/roojs-ui-debug.js +++ b/roojs-ui-debug.js @@ -17081,6 +17081,10 @@ Roo.extend(Roo.form.TextField, Roo.form.Field, { // private - clean the leading white space cleanLeadingSpace : function(e) { + if (this.inputType == 'file') { + return; + } + this.setValue((this.getValue() + '').replace(/^\s+/,'')); }, /** diff --git a/roojs-ui.js b/roojs-ui.js index 7898f28567..4bbdd575b6 100644 --- a/roojs-ui.js +++ b/roojs-ui.js @@ -743,8 +743,8 @@ Roo.form.TextField=function(A){Roo.form.TextField.superclass.constructor.call(th }Roo.form.TextField.superclass.initEvents.call(this);if(this.validationEvent=='keyup'){this.validationTask=new Roo.util.DelayedTask(this.validate,this);this.el.on('keyup',this.filterValidation,this);}else if(this.validationEvent!==false){this.el.on(this.validationEvent,this.validate,this,{buffer:this.validationDelay} );}if(this.selectOnFocus){this.on("focus",this.preFocus,this);}if(!this.allowLeadingSpace){this.on('blur',this.cleanLeadingSpace,this);}if(this.maskRe||(this.vtype&&this.disableKeyFilter!==true&&(this.maskRe=Roo.form.VTypes[this.vtype+'Mask']))){this.el.on("keypress",this.filterKeys,this); }if(this.grow){this.el.on("keyup",this.onKeyUp,this,{buffer:50});this.el.on("click",this.autoSize,this);}if(this.el.is('input[type=password]')&&Roo.isSafari){this.el.on('keydown',this.SafariOnKeyDown,this);}},processValue:function(A){if(this.stripCharsRe){var B=A.replace(this.stripCharsRe,''); -if(B!==A){this.setRawValue(B);return B;}}return A;},filterValidation:function(e){if(!e.isNavKeyPress()){this.validationTask.delay(this.validationDelay);}},onKeyUp:function(e){if(!e.isNavKeyPress()){this.autoSize();}},cleanLeadingSpace:function(e){this.setValue((this.getValue()+'').replace(/^\s+/,'')); -},reset:function(){Roo.form.TextField.superclass.reset.call(this);},preFocus:function(){if(this.selectOnFocus){this.el.dom.select();}},filterKeys:function(e){var k=e.getKey();if(!Roo.isIE&&(e.isNavKeyPress()||k==e.BACKSPACE||(k==e.DELETE&&e.button==-1))){return; +if(B!==A){this.setRawValue(B);return B;}}return A;},filterValidation:function(e){if(!e.isNavKeyPress()){this.validationTask.delay(this.validationDelay);}},onKeyUp:function(e){if(!e.isNavKeyPress()){this.autoSize();}},cleanLeadingSpace:function(e){if(this.inputType=='file'){return; +}this.setValue((this.getValue()+'').replace(/^\s+/,''));},reset:function(){Roo.form.TextField.superclass.reset.call(this);},preFocus:function(){if(this.selectOnFocus){this.el.dom.select();}},filterKeys:function(e){var k=e.getKey();if(!Roo.isIE&&(e.isNavKeyPress()||k==e.BACKSPACE||(k==e.DELETE&&e.button==-1))){return; }var c=e.getCharCode(),cc=String.fromCharCode(c);if(Roo.isIE&&(e.isSpecialKey()||!cc)){return;}if(!this.maskRe.test(cc)){e.stopEvent();}},setValue:function(v){Roo.form.TextField.superclass.setValue.apply(this,arguments);this.autoSize();},validateValue:function(A){if(A.length<1){if(this.allowBlank){this.clearInvalid(); return true;}else{this.markInvalid(this.blankText);return false;}}if(A.lengththis.maxLength){this.markInvalid(String.format(this.maxLengthText,this.maxLength)); return false;}if(this.vtype){var vt=Roo.form.VTypes;if(!vt[this.vtype](A,this)){this.markInvalid(this.vtypeText||vt[this.vtype+'Text']);return false;}}if(typeof this.validator=="function"){var B=this.validator(A);if(B!==true){this.markInvalid(B);return false; -- 2.39.2