From a48ce7878a66f80da7822d033645365da26892a7 Mon Sep 17 00:00:00 2001 From: Alan Date: Fri, 17 Nov 2023 12:49:04 +0800 Subject: [PATCH] fix #7905 - time picker onblur issue --- Roo/bootstrap/form/DateField.js | 2 ++ Roo/bootstrap/form/TimeField.js | 2 ++ roojs-bootstrap-debug.js | 4 ++++ roojs-bootstrap.js | 4 ++-- 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Roo/bootstrap/form/DateField.js b/Roo/bootstrap/form/DateField.js index d9f7c9014a..c93bf08be9 100644 --- a/Roo/bootstrap/form/DateField.js +++ b/Roo/bootstrap/form/DateField.js @@ -578,6 +578,8 @@ Roo.extend(Roo.bootstrap.form.DateField, Roo.bootstrap.form.Input, { this.picker().hide(); this.viewMode = this.startViewMode; this.showMode(); + + this.inputEl().blur(); this.fireEvent('hidepopup', this, this.date); diff --git a/Roo/bootstrap/form/TimeField.js b/Roo/bootstrap/form/TimeField.js index 75bd32cef2..4a92cd8a78 100644 --- a/Roo/bootstrap/form/TimeField.js +++ b/Roo/bootstrap/form/TimeField.js @@ -411,6 +411,8 @@ Roo.extend(Roo.bootstrap.form.TimeField, Roo.bootstrap.form.Input, { { this.picker().hide(); this.pop.hide(); + + this.inputEl().blur(); this.fireEvent('hide', this, this.time); }, diff --git a/roojs-bootstrap-debug.js b/roojs-bootstrap-debug.js index a7d3d5be31..f996ffff87 100644 --- a/roojs-bootstrap-debug.js +++ b/roojs-bootstrap-debug.js @@ -23667,6 +23667,8 @@ Roo.extend(Roo.bootstrap.form.DateField, Roo.bootstrap.form.Input, { this.picker().hide(); this.viewMode = this.startViewMode; this.showMode(); + + this.inputEl().blur(); this.fireEvent('hidepopup', this, this.date); @@ -24717,6 +24719,8 @@ Roo.extend(Roo.bootstrap.form.TimeField, Roo.bootstrap.form.Input, { { this.picker().hide(); this.pop.hide(); + + this.inputEl().blur(); this.fireEvent('hide', this, this.time); }, diff --git a/roojs-bootstrap.js b/roojs-bootstrap.js index 516705e63d..2fac2bd740 100644 --- a/roojs-bootstrap.js +++ b/roojs-bootstrap.js @@ -1003,7 +1003,7 @@ return;}this.picker().addClass('bottom');this.picker().setTop(this.inputEl().get },formatDate:function(A,B){return (!A||!(A instanceof Date))?A:A.dateFormat(B||this.format);},translateDate:function(A){switch(this.language){case 'zh_CN':return new Intl.DateTimeFormat('zh-CN',{year:'numeric',month:'long',day:'numeric'}).format(A);default:return this.formatDate(A); }},onFocus:function(){Roo.bootstrap.form.DateField.superclass.onFocus.call(this);this.showPopup();},onBlur:function(){Roo.bootstrap.form.DateField.superclass.onBlur.call(this);if(!this.readOnly){var d=this.inputEl().getValue();var A=this.parseDate(d);if(A){this.setValue(A); }else{this.setValue(this.getValue());}}this.hidePopup();},showPopup:function(){this.picker().show();this.update();this.place();this.fireEvent('showpopup',this,this.date);},hidePopup:function(){if(this.isInline){return;}this.picker().hide();this.viewMode=this.startViewMode; -this.showMode();this.fireEvent('hidepopup',this,this.date);},onMousedown:function(e){e.stopPropagation();e.preventDefault();},keyup:function(e){Roo.bootstrap.form.DateField.superclass.keyup.call(this);this.update();},setValue:function(v){if(this.fireEvent('beforeselect',this,v)!==false){var d=this.parseDate(v); +this.showMode();this.inputEl().blur();this.fireEvent('hidepopup',this,this.date);},onMousedown:function(e){e.stopPropagation();e.preventDefault();},keyup:function(e){Roo.bootstrap.form.DateField.superclass.keyup.call(this);this.update();},setValue:function(v){if(this.fireEvent('beforeselect',this,v)!==false){var d=this.parseDate(v); if(!d){this.date=this.viewDate=this.value=this.hiddenField.value='';if(this.rendered){this.inputEl().dom.value='';this.validate();}return;}d=new Date(d).clearTime();this.value=this.hiddenField.value=d.dateFormat('Y-m-d');v=this.translateDate(d);if(this.rendered){this.inputEl().dom.value=(v===null||v===undefined?'':v); this.validate();}this.date=new Date(d.getTime()-d.getTimezoneOffset()*60000);this.update();this.fireEvent('select',this,this.date);}},setRawValue:function(v){if(this.fireEvent('beforeselect',this,v)!==false){var d=this.parseDate(v);if(!d){this.date=this.viewDate=this.value=this.hiddenField.value=''; if(this.rendered){this.inputEl().dom.value=(v===null||v===undefined?'':v);}return;}d=new Date(d).clearTime();this.value=this.hiddenField.value=d.dateFormat('Y-m-d');v=this.translateDate(d);if(this.rendered){this.inputEl().dom.value=(v===null||v===undefined?'':v); @@ -1050,7 +1050,7 @@ A.dom.innerHTML='';A.createChild({tag:'tr',cn:[{tag:'td',cn:[{tag:'a',href:'#',c },place:function(){this.picker().removeClass(['bottom-left','bottom-right','top-left','top-right']);var A=['bottom'];if((Roo.lib.Dom.getViewHeight()+Roo.get(document.body).getScroll().top)-(this.inputEl().getBottom()+this.picker().getHeight())<0){A.pop(); A.push('top');}A.push('right');if((Roo.lib.Dom.getViewWidth()+Roo.get(document.body).getScroll().left)-(this.inputEl().getLeft()+this.picker().getWidth())<0){A.pop();A.push('left');}this.picker().addClass(A.join('-'));var B=this;Roo.each(A,function(c){if(c=='bottom'){(function(){} ).defer(200);B.picker().alignTo(B.inputEl(),"tr-br",[0,10],false);return;}if(c=='top'){B.picker().alignTo(B.inputEl(),"br-tr",[0,10],false);return;}});},onFocus:function(){Roo.bootstrap.form.TimeField.superclass.onFocus.call(this);this.show();},onBlur:function(){Roo.bootstrap.form.TimeField.superclass.onBlur.call(this); -this.hide();},show:function(){this.picker().show();this.pop.show();this.update();this.place();this.fireEvent('show',this,this.time);},hide:function(){this.picker().hide();this.pop.hide();this.fireEvent('hide',this,this.time);},setTime:function(){this.hide(); +this.hide();},show:function(){this.picker().show();this.pop.show();this.update();this.place();this.fireEvent('show',this,this.time);},hide:function(){this.picker().hide();this.pop.hide();this.inputEl().blur();this.fireEvent('hide',this,this.time);},setTime:function(){this.hide(); this.setValue(this.time);this.fireEvent('select',this,this.time);},parseTime:function(A){if(!A){return false;}if(A instanceof Date){return A;}var v=Date.parseDate(A,'H:i:s');return (typeof(v)=='undefined')?false:v;},translateTime:function(A){switch(this.language){case 'zh_CN':return new Intl.DateTimeFormat('zh-CN',{hour:'numeric',minute:'numeric',hour12:true} ).format(A);default:return A.format(this.format);}},setValue:function(v){var t=this.parseTime(v);if(!t){this.time=this.value=this.hiddenField.value='';if(this.rendered){this.inputEl().dom.value='';this.validate();}return;}this.value=this.hiddenField.value=t.dateFormat('H:i:s'); v=this.translateTime(t);if(this.rendered){this.inputEl().dom.value=(v===null||v===undefined?'':v);this.validate();}this.time=t;this.update();},setRawValue:function(v){var t=this.parseTime(v);if(!t){this.time=this.value=this.hiddenField.value='';if(this.rendered){this.inputEl().dom.value=(v===null||v===undefined?'':v); -- 2.39.2