this.list.on('mouseover', this.onViewOver, this);
this.list.on('mousemove', this.onViewMove, this);
- this.inputEl().on("keypress", this.onKeyPress, this);
+ this.inputEl().on("keyup", this.onKeyUp, this);
this.tpl = '<li><a href="#"><div class="flag {iso2}"></div>{name} <span class="dial-code">+{dialCode}</span></a></li>';
return this.el.select('input.hidden-tel-input',true).first();
},
- onKeyPress : function(e){
+ onKeyUp : function(e){
var k = e.getKey();
var c = e.getCharCode();
+ Roo.log(c);
+
if(
(String.fromCharCode(c) == '.' || String.fromCharCode(c) == '-') &&
this.allowed.indexOf(String.fromCharCode(c)) === -1
){
- Roo.log(c);
e.stopEvent();
}
,{'name':'dialCode','type':'string'},{'name':'priority','type':'string'},{'name':'areaCodes','type':'string'}]})});if(!this.preferedCountries){this.preferedCountries=['hk','gb','us'];}var p=this.preferedCountries.reverse();if(p){for(var i=0;i<p.length;i++){for(var j=0;
j<this.allCountries.length;j++){if(this.allCountries[j].iso2==p[i]){var t=this.allCountries[j];this.allCountries.splice(j,1);this.allCountries.unshift(t);}}}}this.store.proxy.data={success:true,data:this.allCountries};return C;},initEvents:function(){this.createList();
Roo.bootstrap.PhoneInput.superclass.initEvents.call(this);this.indicator=this.indicatorEl();this.flag=this.flagEl();this.dialCodeHolder=this.dialCodeHolderEl();this.trigger=this.el.select('div.flag-box',true).first();this.trigger.on("click",this.onTriggerClick,this,{preventDefault:true}
-);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.inputEl().on("keypress",this.onKeyPress,this);
+);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.inputEl().on("keyup",this.onKeyUp,this);
this.tpl='<li><a href="#"><div class="flag {iso2}"></div>{name} <span class="dial-code">+{dialCode}</span></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.setValue(this.defaultDialCode);},onTriggerClick:function(e){Roo.log('trigger click');if(this.disabled){return;}if(this.isExpanded()){this.collapse();this.hasFocus=false;}else{this.store.load({});this.hasFocus=true;this.expand();}},isExpanded:function(){return this.list.isVisible();
},collapse:function(){if(!this.isExpanded()){return;}this.list.hide();Roo.get(document).un('mousedown',this.collapseIf,this);Roo.get(document).un('mousewheel',this.collapseIf,this);this.fireEvent('collapse',this);this.validate();},expand:function(){Roo.log('expand');
}return v;},setValue:function(v){var d=this.getDialCode(v);if(v.length==0||!d||d.length==0){if(this.rendered){this.inputEl().dom.value=(v===null||v===undefined?'':v);this.hiddenEl().dom.value=(v===null||v===undefined?'':v);}return;}this.setFlagClass(this.dialCodeMapping[d].iso2);
this.setDialCode(d);this.inputEl().dom.value=v.replace('+'+d,'');this.hiddenEl().dom.value=this.getValue();this.validate();},getDialCode:function(v=''){if(v.length==0){return this.dialCodeHolder.dom.value;}var A="";if(v.charAt(0)!="+"){return false;}var B="";
for(var i=1;i<v.length;i++){var c=v.charAt(i);if(!isNaN(c)){B+=c;if(this.dialCodeMapping[B]){A=v.substr(1,i);}if(B.length==4){break;}}}return A;},reset:function(){this.setValue(this.defaultDialCode);this.validate();},hiddenEl:function(){return this.el.select('input.hidden-tel-input',true).first();
-},onKeyPress:function(e){var k=e.getKey();var c=e.getCharCode();if((String.fromCharCode(c)=='.'||String.fromCharCode(c)=='-')&&this.allowed.indexOf(String.fromCharCode(c))===-1){Roo.log(c);e.stopEvent();}if(!Roo.isIE&&(e.isSpecialKey()||k==e.BACKSPACE||k==e.DELETE)){return;
+},onKeyUp:function(e){var k=e.getKey();var c=e.getCharCode();Roo.log(c);if((String.fromCharCode(c)=='.'||String.fromCharCode(c)=='-')&&this.allowed.indexOf(String.fromCharCode(c))===-1){e.stopEvent();}if(!Roo.isIE&&(e.isSpecialKey()||k==e.BACKSPACE||k==e.DELETE)){return;
}if(this.allowed.indexOf(String.fromCharCode(c))===-1){e.stopEvent();}this.setValue(this.getValue());}});