*/
closeText : "Close this tab"
});
+
+Roo.bootstrap.PhoneInputData = function() {
+ var d = [
+ [
+ "Afghanistan (افغانستان)",
+ "af",
+ "93"
+ ],
+ [
+ "Albania (Shqipëri)",
+ "al",
+ "355"
+ ],
+ [
+ "Algeria (الجزائر)",
+ "dz",
+ "213"
+ ],
+ [
+ "American Samoa",
+ "as",
+ "1684"
+ ],
+ [
+ "Andorra",
+ "ad",
+ "376"
+ ],
+ [
+ "Angola",
+ "ao",
+ "244"
+ ],
+ [
+ "Anguilla",
+ "ai",
+ "1264"
+ ],
+ [
+ "Antigua and Barbuda",
+ "ag",
+ "1268"
+ ],
+ [
+ "Argentina",
+ "ar",
+ "54"
+ ],
+ [
+ "Armenia (Հայաստան)",
+ "am",
+ "374"
+ ],
+ [
+ "Aruba",
+ "aw",
+ "297"
+ ],
+ [
+ "Australia",
+ "au",
+ "61",
+ 0
+ ],
+ [
+ "Austria (Österreich)",
+ "at",
+ "43"
+ ],
+ [
+ "Azerbaijan (Azərbaycan)",
+ "az",
+ "994"
+ ],
+ [
+ "Bahamas",
+ "bs",
+ "1242"
+ ],
+ [
+ "Bahrain (البحرين)",
+ "bh",
+ "973"
+ ],
+ [
+ "Bangladesh (বাংলাদেশ)",
+ "bd",
+ "880"
+ ],
+ [
+ "Barbados",
+ "bb",
+ "1246"
+ ],
+ [
+ "Belarus (Беларусь)",
+ "by",
+ "375"
+ ],
+ [
+ "Belgium (België)",
+ "be",
+ "32"
+ ],
+ [
+ "Belize",
+ "bz",
+ "501"
+ ],
+ [
+ "Benin (Bénin)",
+ "bj",
+ "229"
+ ],
+ [
+ "Bermuda",
+ "bm",
+ "1441"
+ ],
+ [
+ "Bhutan (འབྲུག)",
+ "bt",
+ "975"
+ ],
+ [
+ "Bolivia",
+ "bo",
+ "591"
+ ],
+ [
+ "Bosnia and Herzegovina (Босна и Херцеговина)",
+ "ba",
+ "387"
+ ],
+ [
+ "Botswana",
+ "bw",
+ "267"
+ ],
+ [
+ "Brazil (Brasil)",
+ "br",
+ "55"
+ ],
+ [
+ "British Indian Ocean Territory",
+ "io",
+ "246"
+ ],
+ [
+ "British Virgin Islands",
+ "vg",
+ "1284"
+ ],
+ [
+ "Brunei",
+ "bn",
+ "673"
+ ],
+ [
+ "Bulgaria (България)",
+ "bg",
+ "359"
+ ],
+ [
+ "Burkina Faso",
+ "bf",
+ "226"
+ ],
+ [
+ "Burundi (Uburundi)",
+ "bi",
+ "257"
+ ],
+ [
+ "Cambodia (កម្ពុជា)",
+ "kh",
+ "855"
+ ],
+ [
+ "Cameroon (Cameroun)",
+ "cm",
+ "237"
+ ],
+ [
+ "Canada",
+ "ca",
+ "1",
+ 1,
+ ["204", "226", "236", "249", "250", "289", "306", "343", "365", "387", "403", "416", "418", "431", "437", "438", "450", "506", "514", "519", "548", "579", "581", "587", "604", "613", "639", "647", "672", "705", "709", "742", "778", "780", "782", "807", "819", "825", "867", "873", "902", "905"]
+ ],
+ [
+ "Cape Verde (Kabu Verdi)",
+ "cv",
+ "238"
+ ],
+ [
+ "Caribbean Netherlands",
+ "bq",
+ "599",
+ 1
+ ],
+ [
+ "Cayman Islands",
+ "ky",
+ "1345"
+ ],
+ [
+ "Central African Republic (République centrafricaine)",
+ "cf",
+ "236"
+ ],
+ [
+ "Chad (Tchad)",
+ "td",
+ "235"
+ ],
+ [
+ "Chile",
+ "cl",
+ "56"
+ ],
+ [
+ "China (中国)",
+ "cn",
+ "86"
+ ],
+ [
+ "Christmas Island",
+ "cx",
+ "61",
+ 2
+ ],
+ [
+ "Cocos (Keeling) Islands",
+ "cc",
+ "61",
+ 1
+ ],
+ [
+ "Colombia",
+ "co",
+ "57"
+ ],
+ [
+ "Comoros (جزر القمر)",
+ "km",
+ "269"
+ ],
+ [
+ "Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)",
+ "cd",
+ "243"
+ ],
+ [
+ "Congo (Republic) (Congo-Brazzaville)",
+ "cg",
+ "242"
+ ],
+ [
+ "Cook Islands",
+ "ck",
+ "682"
+ ],
+ [
+ "Costa Rica",
+ "cr",
+ "506"
+ ],
+ [
+ "Côte d’Ivoire",
+ "ci",
+ "225"
+ ],
+ [
+ "Croatia (Hrvatska)",
+ "hr",
+ "385"
+ ],
+ [
+ "Cuba",
+ "cu",
+ "53"
+ ],
+ [
+ "Curaçao",
+ "cw",
+ "599",
+ 0
+ ],
+ [
+ "Cyprus (Κύπρος)",
+ "cy",
+ "357"
+ ],
+ [
+ "Czech Republic (Česká republika)",
+ "cz",
+ "420"
+ ],
+ [
+ "Denmark (Danmark)",
+ "dk",
+ "45"
+ ],
+ [
+ "Djibouti",
+ "dj",
+ "253"
+ ],
+ [
+ "Dominica",
+ "dm",
+ "1767"
+ ],
+ [
+ "Dominican Republic (República Dominicana)",
+ "do",
+ "1",
+ 2,
+ ["809", "829", "849"]
+ ],
+ [
+ "Ecuador",
+ "ec",
+ "593"
+ ],
+ [
+ "Egypt (مصر)",
+ "eg",
+ "20"
+ ],
+ [
+ "El Salvador",
+ "sv",
+ "503"
+ ],
+ [
+ "Equatorial Guinea (Guinea Ecuatorial)",
+ "gq",
+ "240"
+ ],
+ [
+ "Eritrea",
+ "er",
+ "291"
+ ],
+ [
+ "Estonia (Eesti)",
+ "ee",
+ "372"
+ ],
+ [
+ "Ethiopia",
+ "et",
+ "251"
+ ],
+ [
+ "Falkland Islands (Islas Malvinas)",
+ "fk",
+ "500"
+ ],
+ [
+ "Faroe Islands (Føroyar)",
+ "fo",
+ "298"
+ ],
+ [
+ "Fiji",
+ "fj",
+ "679"
+ ],
+ [
+ "Finland (Suomi)",
+ "fi",
+ "358",
+ 0
+ ],
+ [
+ "France",
+ "fr",
+ "33"
+ ],
+ [
+ "French Guiana (Guyane française)",
+ "gf",
+ "594"
+ ],
+ [
+ "French Polynesia (Polynésie française)",
+ "pf",
+ "689"
+ ],
+ [
+ "Gabon",
+ "ga",
+ "241"
+ ],
+ [
+ "Gambia",
+ "gm",
+ "220"
+ ],
+ [
+ "Georgia (საქართველო)",
+ "ge",
+ "995"
+ ],
+ [
+ "Germany (Deutschland)",
+ "de",
+ "49"
+ ],
+ [
+ "Ghana (Gaana)",
+ "gh",
+ "233"
+ ],
+ [
+ "Gibraltar",
+ "gi",
+ "350"
+ ],
+ [
+ "Greece (Ελλάδα)",
+ "gr",
+ "30"
+ ],
+ [
+ "Greenland (Kalaallit Nunaat)",
+ "gl",
+ "299"
+ ],
+ [
+ "Grenada",
+ "gd",
+ "1473"
+ ],
+ [
+ "Guadeloupe",
+ "gp",
+ "590",
+ 0
+ ],
+ [
+ "Guam",
+ "gu",
+ "1671"
+ ],
+ [
+ "Guatemala",
+ "gt",
+ "502"
+ ],
+ [
+ "Guernsey",
+ "gg",
+ "44",
+ 1
+ ],
+ [
+ "Guinea (Guinée)",
+ "gn",
+ "224"
+ ],
+ [
+ "Guinea-Bissau (Guiné Bissau)",
+ "gw",
+ "245"
+ ],
+ [
+ "Guyana",
+ "gy",
+ "592"
+ ],
+ [
+ "Haiti",
+ "ht",
+ "509"
+ ],
+ [
+ "Honduras",
+ "hn",
+ "504"
+ ],
+ [
+ "Hong Kong (香港)",
+ "hk",
+ "852"
+ ],
+ [
+ "Hungary (Magyarország)",
+ "hu",
+ "36"
+ ],
+ [
+ "Iceland (Ísland)",
+ "is",
+ "354"
+ ],
+ [
+ "India (भारत)",
+ "in",
+ "91"
+ ],
+ [
+ "Indonesia",
+ "id",
+ "62"
+ ],
+ [
+ "Iran (ایران)",
+ "ir",
+ "98"
+ ],
+ [
+ "Iraq (العراق)",
+ "iq",
+ "964"
+ ],
+ [
+ "Ireland",
+ "ie",
+ "353"
+ ],
+ [
+ "Isle of Man",
+ "im",
+ "44",
+ 2
+ ],
+ [
+ "Israel (ישראל)",
+ "il",
+ "972"
+ ],
+ [
+ "Italy (Italia)",
+ "it",
+ "39",
+ 0
+ ],
+ [
+ "Jamaica",
+ "jm",
+ "1876"
+ ],
+ [
+ "Japan (日本)",
+ "jp",
+ "81"
+ ],
+ [
+ "Jersey",
+ "je",
+ "44",
+ 3
+ ],
+ [
+ "Jordan (الأردن)",
+ "jo",
+ "962"
+ ],
+ [
+ "Kazakhstan (Казахстан)",
+ "kz",
+ "7",
+ 1
+ ],
+ [
+ "Kenya",
+ "ke",
+ "254"
+ ],
+ [
+ "Kiribati",
+ "ki",
+ "686"
+ ],
+ [
+ "Kosovo",
+ "xk",
+ "383"
+ ],
+ [
+ "Kuwait (الكويت)",
+ "kw",
+ "965"
+ ],
+ [
+ "Kyrgyzstan (Кыргызстан)",
+ "kg",
+ "996"
+ ],
+ [
+ "Laos (ລາວ)",
+ "la",
+ "856"
+ ],
+ [
+ "Latvia (Latvija)",
+ "lv",
+ "371"
+ ],
+ [
+ "Lebanon (لبنان)",
+ "lb",
+ "961"
+ ],
+ [
+ "Lesotho",
+ "ls",
+ "266"
+ ],
+ [
+ "Liberia",
+ "lr",
+ "231"
+ ],
+ [
+ "Libya (ليبيا)",
+ "ly",
+ "218"
+ ],
+ [
+ "Liechtenstein",
+ "li",
+ "423"
+ ],
+ [
+ "Lithuania (Lietuva)",
+ "lt",
+ "370"
+ ],
+ [
+ "Luxembourg",
+ "lu",
+ "352"
+ ],
+ [
+ "Macau (澳門)",
+ "mo",
+ "853"
+ ],
+ [
+ "Macedonia (FYROM) (Македонија)",
+ "mk",
+ "389"
+ ],
+ [
+ "Madagascar (Madagasikara)",
+ "mg",
+ "261"
+ ],
+ [
+ "Malawi",
+ "mw",
+ "265"
+ ],
+ [
+ "Malaysia",
+ "my",
+ "60"
+ ],
+ [
+ "Maldives",
+ "mv",
+ "960"
+ ],
+ [
+ "Mali",
+ "ml",
+ "223"
+ ],
+ [
+ "Malta",
+ "mt",
+ "356"
+ ],
+ [
+ "Marshall Islands",
+ "mh",
+ "692"
+ ],
+ [
+ "Martinique",
+ "mq",
+ "596"
+ ],
+ [
+ "Mauritania (موريتانيا)",
+ "mr",
+ "222"
+ ],
+ [
+ "Mauritius (Moris)",
+ "mu",
+ "230"
+ ],
+ [
+ "Mayotte",
+ "yt",
+ "262",
+ 1
+ ],
+ [
+ "Mexico (México)",
+ "mx",
+ "52"
+ ],
+ [
+ "Micronesia",
+ "fm",
+ "691"
+ ],
+ [
+ "Moldova (Republica Moldova)",
+ "md",
+ "373"
+ ],
+ [
+ "Monaco",
+ "mc",
+ "377"
+ ],
+ [
+ "Mongolia (Монгол)",
+ "mn",
+ "976"
+ ],
+ [
+ "Montenegro (Crna Gora)",
+ "me",
+ "382"
+ ],
+ [
+ "Montserrat",
+ "ms",
+ "1664"
+ ],
+ [
+ "Morocco (المغرب)",
+ "ma",
+ "212",
+ 0
+ ],
+ [
+ "Mozambique (Moçambique)",
+ "mz",
+ "258"
+ ],
+ [
+ "Myanmar (Burma) (မြန်မာ)",
+ "mm",
+ "95"
+ ],
+ [
+ "Namibia (Namibië)",
+ "na",
+ "264"
+ ],
+ [
+ "Nauru",
+ "nr",
+ "674"
+ ],
+ [
+ "Nepal (नेपाल)",
+ "np",
+ "977"
+ ],
+ [
+ "Netherlands (Nederland)",
+ "nl",
+ "31"
+ ],
+ [
+ "New Caledonia (Nouvelle-Calédonie)",
+ "nc",
+ "687"
+ ],
+ [
+ "New Zealand",
+ "nz",
+ "64"
+ ],
+ [
+ "Nicaragua",
+ "ni",
+ "505"
+ ],
+ [
+ "Niger (Nijar)",
+ "ne",
+ "227"
+ ],
+ [
+ "Nigeria",
+ "ng",
+ "234"
+ ],
+ [
+ "Niue",
+ "nu",
+ "683"
+ ],
+ [
+ "Norfolk Island",
+ "nf",
+ "672"
+ ],
+ [
+ "North Korea (조선 민주주의 인민 공화국)",
+ "kp",
+ "850"
+ ],
+ [
+ "Northern Mariana Islands",
+ "mp",
+ "1670"
+ ],
+ [
+ "Norway (Norge)",
+ "no",
+ "47",
+ 0
+ ],
+ [
+ "Oman (عُمان)",
+ "om",
+ "968"
+ ],
+ [
+ "Pakistan (پاکستان)",
+ "pk",
+ "92"
+ ],
+ [
+ "Palau",
+ "pw",
+ "680"
+ ],
+ [
+ "Palestine (فلسطين)",
+ "ps",
+ "970"
+ ],
+ [
+ "Panama (Panamá)",
+ "pa",
+ "507"
+ ],
+ [
+ "Papua New Guinea",
+ "pg",
+ "675"
+ ],
+ [
+ "Paraguay",
+ "py",
+ "595"
+ ],
+ [
+ "Peru (Perú)",
+ "pe",
+ "51"
+ ],
+ [
+ "Philippines",
+ "ph",
+ "63"
+ ],
+ [
+ "Poland (Polska)",
+ "pl",
+ "48"
+ ],
+ [
+ "Portugal",
+ "pt",
+ "351"
+ ],
+ [
+ "Puerto Rico",
+ "pr",
+ "1",
+ 3,
+ ["787", "939"]
+ ],
+ [
+ "Qatar (قطر)",
+ "qa",
+ "974"
+ ],
+ [
+ "Réunion (La Réunion)",
+ "re",
+ "262",
+ 0
+ ],
+ [
+ "Romania (România)",
+ "ro",
+ "40"
+ ],
+ [
+ "Russia (Россия)",
+ "ru",
+ "7",
+ 0
+ ],
+ [
+ "Rwanda",
+ "rw",
+ "250"
+ ],
+ [
+ "Saint Barthélemy",
+ "bl",
+ "590",
+ 1
+ ],
+ [
+ "Saint Helena",
+ "sh",
+ "290"
+ ],
+ [
+ "Saint Kitts and Nevis",
+ "kn",
+ "1869"
+ ],
+ [
+ "Saint Lucia",
+ "lc",
+ "1758"
+ ],
+ [
+ "Saint Martin (Saint-Martin (partie française))",
+ "mf",
+ "590",
+ 2
+ ],
+ [
+ "Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)",
+ "pm",
+ "508"
+ ],
+ [
+ "Saint Vincent and the Grenadines",
+ "vc",
+ "1784"
+ ],
+ [
+ "Samoa",
+ "ws",
+ "685"
+ ],
+ [
+ "San Marino",
+ "sm",
+ "378"
+ ],
+ [
+ "São Tomé and Príncipe (São Tomé e Príncipe)",
+ "st",
+ "239"
+ ],
+ [
+ "Saudi Arabia (المملكة العربية السعودية)",
+ "sa",
+ "966"
+ ],
+ [
+ "Senegal (Sénégal)",
+ "sn",
+ "221"
+ ],
+ [
+ "Serbia (Србија)",
+ "rs",
+ "381"
+ ],
+ [
+ "Seychelles",
+ "sc",
+ "248"
+ ],
+ [
+ "Sierra Leone",
+ "sl",
+ "232"
+ ],
+ [
+ "Singapore",
+ "sg",
+ "65"
+ ],
+ [
+ "Sint Maarten",
+ "sx",
+ "1721"
+ ],
+ [
+ "Slovakia (Slovensko)",
+ "sk",
+ "421"
+ ],
+ [
+ "Slovenia (Slovenija)",
+ "si",
+ "386"
+ ],
+ [
+ "Solomon Islands",
+ "sb",
+ "677"
+ ],
+ [
+ "Somalia (Soomaaliya)",
+ "so",
+ "252"
+ ],
+ [
+ "South Africa",
+ "za",
+ "27"
+ ],
+ [
+ "South Korea (대한민국)",
+ "kr",
+ "82"
+ ],
+ [
+ "South Sudan (جنوب السودان)",
+ "ss",
+ "211"
+ ],
+ [
+ "Spain (España)",
+ "es",
+ "34"
+ ],
+ [
+ "Sri Lanka (ශ්රී ලංකාව)",
+ "lk",
+ "94"
+ ],
+ [
+ "Sudan (السودان)",
+ "sd",
+ "249"
+ ],
+ [
+ "Suriname",
+ "sr",
+ "597"
+ ],
+ [
+ "Svalbard and Jan Mayen",
+ "sj",
+ "47",
+ 1
+ ],
+ [
+ "Swaziland",
+ "sz",
+ "268"
+ ],
+ [
+ "Sweden (Sverige)",
+ "se",
+ "46"
+ ],
+ [
+ "Switzerland (Schweiz)",
+ "ch",
+ "41"
+ ],
+ [
+ "Syria (سوريا)",
+ "sy",
+ "963"
+ ],
+ [
+ "Taiwan (台灣)",
+ "tw",
+ "886"
+ ],
+ [
+ "Tajikistan",
+ "tj",
+ "992"
+ ],
+ [
+ "Tanzania",
+ "tz",
+ "255"
+ ],
+ [
+ "Thailand (ไทย)",
+ "th",
+ "66"
+ ],
+ [
+ "Timor-Leste",
+ "tl",
+ "670"
+ ],
+ [
+ "Togo",
+ "tg",
+ "228"
+ ],
+ [
+ "Tokelau",
+ "tk",
+ "690"
+ ],
+ [
+ "Tonga",
+ "to",
+ "676"
+ ],
+ [
+ "Trinidad and Tobago",
+ "tt",
+ "1868"
+ ],
+ [
+ "Tunisia (تونس)",
+ "tn",
+ "216"
+ ],
+ [
+ "Turkey (Türkiye)",
+ "tr",
+ "90"
+ ],
+ [
+ "Turkmenistan",
+ "tm",
+ "993"
+ ],
+ [
+ "Turks and Caicos Islands",
+ "tc",
+ "1649"
+ ],
+ [
+ "Tuvalu",
+ "tv",
+ "688"
+ ],
+ [
+ "U.S. Virgin Islands",
+ "vi",
+ "1340"
+ ],
+ [
+ "Uganda",
+ "ug",
+ "256"
+ ],
+ [
+ "Ukraine (Україна)",
+ "ua",
+ "380"
+ ],
+ [
+ "United Arab Emirates (الإمارات العربية المتحدة)",
+ "ae",
+ "971"
+ ],
+ [
+ "United Kingdom",
+ "gb",
+ "44",
+ 0
+ ],
+ [
+ "United States",
+ "us",
+ "1",
+ 0
+ ],
+ [
+ "Uruguay",
+ "uy",
+ "598"
+ ],
+ [
+ "Uzbekistan (Oʻzbekiston)",
+ "uz",
+ "998"
+ ],
+ [
+ "Vanuatu",
+ "vu",
+ "678"
+ ],
+ [
+ "Vatican City (Città del Vaticano)",
+ "va",
+ "39",
+ 1
+ ],
+ [
+ "Venezuela",
+ "ve",
+ "58"
+ ],
+ [
+ "Vietnam (Việt Nam)",
+ "vn",
+ "84"
+ ],
+ [
+ "Wallis and Futuna (Wallis-et-Futuna)",
+ "wf",
+ "681"
+ ],
+ [
+ "Western Sahara (الصحراء الغربية)",
+ "eh",
+ "212",
+ 1
+ ],
+ [
+ "Yemen (اليمن)",
+ "ye",
+ "967"
+ ],
+ [
+ "Zambia",
+ "zm",
+ "260"
+ ],
+ [
+ "Zimbabwe",
+ "zw",
+ "263"
+ ],
+ [
+ "Åland Islands",
+ "ax",
+ "358",
+ 1
+ ]
+ ];
+
+ return d;
+}/**
+* This script refer to:
+* Title: International Telephone Input
+* Author: Jack O'Connor
+* Code version: v12.1.12
+* Availability: https://github.com/jackocnr/intl-tel-input.git
+**/
+
Roo.bootstrap.PhoneInput = function(config) {
Roo.bootstrap.PhoneInput.superclass.constructor.call(this, config);
};
-Roo.extend(Roo.bootstrap.PhoneInput, Roo.bootstrap.TriggerField, {
+Roo.extend(Roo.bootstrap.PhoneInput, Roo.bootstrap.TriggerField, {
triggerList : true,
selectedClass: 'active',
+ allCountries: false,
+
+ dialCodeMapping: false,
+
+ preferedCountries: false,
+
+ defaultDialCode: '+852',
+
getAutoCreate : function()
{
+ var data = Roo.bootstrap.PhoneInputData;
var align = this.labelAlign || this.parentLabelAlign();
var id = Roo.id();
- for (var i = 0; i < this.allCountries.length; i++) {
- var c = this.allCountries[i];
+ for (var i = 0; i < data.length; i++) {
+ var c = data[i];
this.allCountries[i] = {
name: c[0],
iso2: c[1],
priority: c[3] || 0,
areaCodes: c[4] || null
};
+ this.dialCodeMapping[c[2]] = {
+ name: c[0],
+ iso2: c[1],
+ priority: c[3] || 0,
+ areaCodes: c[4] || null
+ };
}
- this.data = this.allCountries;
-
var cfg = {
- cls: 'form-group', //input-group
+ cls: 'form-group',
cn: []
};
var input = {
tag: 'input',
id : id,
- type : 'tel',
+ type : 'number',
cls : 'form-control tel-input',
autocomplete: 'new-password'
- //placeholder : this.placeholder || ''
};
if (this.name) {
}
if (this.disabled) {
- input.disabled=true;
+ input.disabled = true;
}
var flag_container = {
tag: 'div',
- cls: 'flag-container',
+ cls: 'flag-box',
cn: [
{
tag: 'div',
tag: 'div',
cls: this.hasFeedback ? 'has-feedback' : '',
cn: [
- input
+ input,
+ {
+ tag: 'input',
+ cls: 'dial-code-holder',
+ disabled: true
+ }
]
};
container
];
-
var settings = this;
['xs','sm','md','lg'].map(function(size){
this.store = new Roo.data.Store({
proxy : new Roo.data.MemoryProxy({}),
reader : new Roo.data.JsonReader({
-
fields : [
{
'name' : 'name',
'type' : 'string'
}
]
- }),
- listeners : {
- beforeload : function(_self, o)
- {
- o.params = o.params || {};
- var d = {
- success :true,
- data: this.data_cache
- };
- this.proxy.data = d;
- }
- }
+ })
});
- this.store.data_cache = this.data;
+ this.store.proxy.data = {
+ success: true,
+ data: this.allCountries
+ };
return cfg;
},
this.createList();
Roo.bootstrap.PhoneInput.superclass.initEvents.call(this);
- this.trigger = this.el.select('div.flag-container',true).first();
+ 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 _this = this;
this.list.on('mouseover', this.onViewOver, this);
this.list.on('mousemove', this.onViewMove, this);
- this.list.on('scroll', this.onViewScroll, this);
+ //this.list.on('scroll', this.onViewScroll, this);
- this.tpl = '<li><a href="#"><div class="flag {iso2}"></div>{name}</a></li>';
+ 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.store.on('beforeload', this.onBeforeLoad, this);
- // this.store.on('load', this.onLoad, this);
- // this.store.on('loadexception', this.onLoadException, this);
+
+ this.view.on('click', this.onViewClick, this);
+ this.setValue(this.defaultDialCode);
},
onTriggerClick : function(e)
{
Roo.log('trigger click');
-
if(this.disabled || !this.triggerList){
return;
}
- this.page = 0;
- this.loadNext = false;
-
if(this.isExpanded()){
this.collapse();
this.hasFocus = false;
}
},
- isExpanded : function(){
+ isExpanded : function()
+ {
return this.list.isVisible();
},
- collapse : function(){
+ collapse : function()
+ {
if(!this.isExpanded()){
return;
}
Roo.get(document).un('mousedown', this.collapseIf, this);
Roo.get(document).un('mousewheel', this.collapseIf, this);
this.fireEvent('collapse', this);
-
this.validate();
},
- expand : function(){
-
+ expand : function()
+ {
+ Roo.log('expand');
+
if(this.isExpanded() || !this.hasFocus){
return;
}
var lw = this.listWidth || Math.max(this.inputEl().getWidth(), this.minListWidth);
this.list.setWidth(lw);
- Roo.log('expand');
-
this.list.show();
-
this.restrictHeight();
Roo.get(document).on('mousedown', this.collapseIf, this);
restrictHeight : function()
{
- //this.innerList.dom.style.height = '';
- //var inner = this.innerList.dom;
- //var h = Math.max(inner.clientHeight, inner.offsetHeight, inner.scrollHeight);
- //this.innerList.setHeight(h < this.maxHeight ? 'auto' : this.maxHeight);
- //this.list.beginUpdate();
- //this.list.setHeight(this.innerList.getHeight()+this.list.getFrameWidth('tb')+(this.resizable?this.handleHeight:0)+this.assetHeight);
this.list.alignTo(this.inputEl(), this.listAlign);
this.list.alignTo(this.inputEl(), this.listAlign);
- //this.list.endUpdate();
},
- onViewOver : function(e, t){
- if(this.inKeyMode){ // prevent key nav and mouse over conflicts
+ onViewOver : function(e, t)
+ {
+ if(this.inKeyMode){
return;
}
var item = this.view.findItemFromChild(t);
var r = this.store.getAt(index);
- if(this.tickable){
-
- if(typeof(e) != 'undefined' && e.getTarget().nodeName.toLowerCase() != 'input'){
- return;
- }
-
- var rm = false;
- var _this = this;
-
- Roo.each(this.tickItems, function(v,k){
-
- if(typeof(v) != 'undefined' && v[_this.valueField] == r.data[_this.valueField]){
- Roo.log(v);
- _this.tickItems.splice(k, 1);
-
- if(typeof(e) == 'undefined' && view == false){
- Roo.get(_this.view.getNodes(index, index)[0]).select('input', true).first().dom.checked = false;
- }
-
- rm = true;
- return;
- }
- });
-
- if(rm){
- return;
- }
-
- if(this.fireEvent('tick', this, r, index, Roo.get(_this.view.getNodes(index, index)[0]).select('input', true).first().dom.checked) !== false){
- this.tickItems.push(r.data);
- }
-
- if(typeof(e) == 'undefined' && view == false){
- Roo.get(_this.view.getNodes(index, index)[0]).select('input', true).first().dom.checked = true;
- }
-
- return;
- }
-
if(r){
this.onSelect(r, index);
}
this.inKeyMode = false;
},
- onViewScroll : function(e, t)
+ select : function(index, scrollIntoView)
{
- if(this.view.el.getScroll().top == 0 ||this.view.el.getScroll().top < this.view.el.dom.scrollHeight - this.view.el.dom.clientHeight || !this.hasFocus || !this.append || this.hasQuery){
- return;
- }
-
- this.hasQuery = true;
-
- this.loading = this.list.select('.loading', true).first();
-
- if(this.loading === null){
- this.list.createChild({
- tag: 'div',
- cls: 'loading roo-select2-more-results roo-select2-active',
- html: 'Loading more results...'
- });
-
- this.loading = this.list.select('.loading', true).first();
-
- this.loading.setVisibilityMode(Roo.Element.DISPLAY);
-
- this.loading.hide();
- }
-
- this.loading.show();
-
- var _combo = this;
-
- this.page++;
- this.loadNext = true;
-
- (function() { _combo.doQuery(_combo.allQuery, true); }).defer(500);
-
- return;
- },
-
- select : function(index, scrollIntoView){
this.selectedIndex = index;
this.view.select(index);
if(scrollIntoView !== false){
var el = this.view.getNode(index);
- /*
- * el && !this.multiple && !this.tickable // not sure why we disable multiple before..
- */
if(el){
this.list.scrollChildIntoView(el, false);
}
cls: 'typeahead typeahead-long dropdown-menu tel-list',
style: 'display:none'
});
-
this.list.setVisibilityMode(Roo.Element.DISPLAY).originalDisplay = 'block';;
-
},
- collapseIf : function(e){
+ collapseIf : function(e)
+ {
var in_combo = e.within(this.el);
var in_list = e.within(this.list);
var is_list = (Roo.get(e.getTarget()).id == this.list.id) ? true : false;
if (in_combo || in_list || is_list) {
- //e.stopPropagation();
return;
}
this.collapse();
},
- onSelect : function(record, index){
- Roo.log('onselecting...');
+ onSelect : function(record, index)
+ {
if(this.fireEvent('beforeselect', this, record, index) !== false){
- this.setFromData(index > -1 ? record.data : false);
-
+ this.setFlagClass(record.data.iso2);
+ this.setDialCode(record.data.dialCode);
+ this.hasFocus = false;
this.collapse();
this.fireEvent('select', this, record, index);
}
},
- allCountries : [
- [
- "Afghanistan (افغانستان)",
- "af",
- "93"
- ],
- [
- "Albania (Shqipëri)",
- "al",
- "355"
- ],
- [
- "Algeria (الجزائر)",
- "dz",
- "213"
- ],
- [
- "American Samoa",
- "as",
- "1684"
- ],
- [
- "Andorra",
- "ad",
- "376"
- ],
- [
- "Angola",
- "ao",
- "244"
- ],
- [
- "Anguilla",
- "ai",
- "1264"
- ],
- [
- "Antigua and Barbuda",
- "ag",
- "1268"
- ],
- [
- "Argentina",
- "ar",
- "54"
- ],
- [
- "Armenia (Հայաստան)",
- "am",
- "374"
- ],
- [
- "Aruba",
- "aw",
- "297"
- ],
- [
- "Australia",
- "au",
- "61",
- 0
- ],
- [
- "Austria (Österreich)",
- "at",
- "43"
- ],
- [
- "Azerbaijan (Azərbaycan)",
- "az",
- "994"
- ],
- [
- "Bahamas",
- "bs",
- "1242"
- ],
- [
- "Bahrain (البحرين)",
- "bh",
- "973"
- ],
- [
- "Bangladesh (বাংলাদেশ)",
- "bd",
- "880"
- ],
- [
- "Barbados",
- "bb",
- "1246"
- ],
- [
- "Belarus (Беларусь)",
- "by",
- "375"
- ],
- [
- "Belgium (België)",
- "be",
- "32"
- ],
- [
- "Belize",
- "bz",
- "501"
- ],
- [
- "Benin (Bénin)",
- "bj",
- "229"
- ],
- [
- "Bermuda",
- "bm",
- "1441"
- ],
- [
- "Bhutan (འབྲུག)",
- "bt",
- "975"
- ],
- [
- "Bolivia",
- "bo",
- "591"
- ],
- [
- "Bosnia and Herzegovina (Босна и Херцеговина)",
- "ba",
- "387"
- ],
- [
- "Botswana",
- "bw",
- "267"
- ],
- [
- "Brazil (Brasil)",
- "br",
- "55"
- ],
- [
- "British Indian Ocean Territory",
- "io",
- "246"
- ],
- [
- "British Virgin Islands",
- "vg",
- "1284"
- ],
- [
- "Brunei",
- "bn",
- "673"
- ],
- [
- "Bulgaria (България)",
- "bg",
- "359"
- ],
- [
- "Burkina Faso",
- "bf",
- "226"
- ],
- [
- "Burundi (Uburundi)",
- "bi",
- "257"
- ],
- [
- "Cambodia (កម្ពុជា)",
- "kh",
- "855"
- ],
- [
- "Cameroon (Cameroun)",
- "cm",
- "237"
- ],
- [
- "Canada",
- "ca",
- "1",
- 1,
- ["204", "226", "236", "249", "250", "289", "306", "343", "365", "387", "403", "416", "418", "431", "437", "438", "450", "506", "514", "519", "548", "579", "581", "587", "604", "613", "639", "647", "672", "705", "709", "742", "778", "780", "782", "807", "819", "825", "867", "873", "902", "905"]
- ],
- [
- "Cape Verde (Kabu Verdi)",
- "cv",
- "238"
- ],
- [
- "Caribbean Netherlands",
- "bq",
- "599",
- 1
- ],
- [
- "Cayman Islands",
- "ky",
- "1345"
- ],
- [
- "Central African Republic (République centrafricaine)",
- "cf",
- "236"
- ],
- [
- "Chad (Tchad)",
- "td",
- "235"
- ],
- [
- "Chile",
- "cl",
- "56"
- ],
- [
- "China (中国)",
- "cn",
- "86"
- ],
- [
- "Christmas Island",
- "cx",
- "61",
- 2
- ],
- [
- "Cocos (Keeling) Islands",
- "cc",
- "61",
- 1
- ],
- [
- "Colombia",
- "co",
- "57"
- ],
- [
- "Comoros (جزر القمر)",
- "km",
- "269"
- ],
- [
- "Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)",
- "cd",
- "243"
- ],
- [
- "Congo (Republic) (Congo-Brazzaville)",
- "cg",
- "242"
- ],
- [
- "Cook Islands",
- "ck",
- "682"
- ],
- [
- "Costa Rica",
- "cr",
- "506"
- ],
- [
- "Côte d’Ivoire",
- "ci",
- "225"
- ],
- [
- "Croatia (Hrvatska)",
- "hr",
- "385"
- ],
- [
- "Cuba",
- "cu",
- "53"
- ],
- [
- "Curaçao",
- "cw",
- "599",
- 0
- ],
- [
- "Cyprus (Κύπρος)",
- "cy",
- "357"
- ],
- [
- "Czech Republic (Česká republika)",
- "cz",
- "420"
- ],
- [
- "Denmark (Danmark)",
- "dk",
- "45"
- ],
- [
- "Djibouti",
- "dj",
- "253"
- ],
- [
- "Dominica",
- "dm",
- "1767"
- ],
- [
- "Dominican Republic (República Dominicana)",
- "do",
- "1",
- 2,
- ["809", "829", "849"]
- ],
- [
- "Ecuador",
- "ec",
- "593"
- ],
- [
- "Egypt (مصر)",
- "eg",
- "20"
- ],
- [
- "El Salvador",
- "sv",
- "503"
- ],
- [
- "Equatorial Guinea (Guinea Ecuatorial)",
- "gq",
- "240"
- ],
- [
- "Eritrea",
- "er",
- "291"
- ],
- [
- "Estonia (Eesti)",
- "ee",
- "372"
- ],
- [
- "Ethiopia",
- "et",
- "251"
- ],
- [
- "Falkland Islands (Islas Malvinas)",
- "fk",
- "500"
- ],
- [
- "Faroe Islands (Føroyar)",
- "fo",
- "298"
- ],
- [
- "Fiji",
- "fj",
- "679"
- ],
- [
- "Finland (Suomi)",
- "fi",
- "358",
- 0
- ],
- [
- "France",
- "fr",
- "33"
- ],
- [
- "French Guiana (Guyane française)",
- "gf",
- "594"
- ],
- [
- "French Polynesia (Polynésie française)",
- "pf",
- "689"
- ],
- [
- "Gabon",
- "ga",
- "241"
- ],
- [
- "Gambia",
- "gm",
- "220"
- ],
- [
- "Georgia (საქართველო)",
- "ge",
- "995"
- ],
- [
- "Germany (Deutschland)",
- "de",
- "49"
- ],
- [
- "Ghana (Gaana)",
- "gh",
- "233"
- ],
- [
- "Gibraltar",
- "gi",
- "350"
- ],
- [
- "Greece (Ελλάδα)",
- "gr",
- "30"
- ],
- [
- "Greenland (Kalaallit Nunaat)",
- "gl",
- "299"
- ],
- [
- "Grenada",
- "gd",
- "1473"
- ],
- [
- "Guadeloupe",
- "gp",
- "590",
- 0
- ],
- [
- "Guam",
- "gu",
- "1671"
- ],
- [
- "Guatemala",
- "gt",
- "502"
- ],
- [
- "Guernsey",
- "gg",
- "44",
- 1
- ],
- [
- "Guinea (Guinée)",
- "gn",
- "224"
- ],
- [
- "Guinea-Bissau (Guiné Bissau)",
- "gw",
- "245"
- ],
- [
- "Guyana",
- "gy",
- "592"
- ],
- [
- "Haiti",
- "ht",
- "509"
- ],
- [
- "Honduras",
- "hn",
- "504"
- ],
- [
- "Hong Kong (香港)",
- "hk",
- "852"
- ],
- [
- "Hungary (Magyarország)",
- "hu",
- "36"
- ],
- [
- "Iceland (Ísland)",
- "is",
- "354"
- ],
- [
- "India (भारत)",
- "in",
- "91"
- ],
- [
- "Indonesia",
- "id",
- "62"
- ],
- [
- "Iran (ایران)",
- "ir",
- "98"
- ],
- [
- "Iraq (العراق)",
- "iq",
- "964"
- ],
- [
- "Ireland",
- "ie",
- "353"
- ],
- [
- "Isle of Man",
- "im",
- "44",
- 2
- ],
- [
- "Israel (ישראל)",
- "il",
- "972"
- ],
- [
- "Italy (Italia)",
- "it",
- "39",
- 0
- ],
- [
- "Jamaica",
- "jm",
- "1876"
- ],
- [
- "Japan (日本)",
- "jp",
- "81"
- ],
- [
- "Jersey",
- "je",
- "44",
- 3
- ],
- [
- "Jordan (الأردن)",
- "jo",
- "962"
- ],
- [
- "Kazakhstan (Казахстан)",
- "kz",
- "7",
- 1
- ],
- [
- "Kenya",
- "ke",
- "254"
- ],
- [
- "Kiribati",
- "ki",
- "686"
- ],
- [
- "Kosovo",
- "xk",
- "383"
- ],
- [
- "Kuwait (الكويت)",
- "kw",
- "965"
- ],
- [
- "Kyrgyzstan (Кыргызстан)",
- "kg",
- "996"
- ],
- [
- "Laos (ລາວ)",
- "la",
- "856"
- ],
- [
- "Latvia (Latvija)",
- "lv",
- "371"
- ],
- [
- "Lebanon (لبنان)",
- "lb",
- "961"
- ],
- [
- "Lesotho",
- "ls",
- "266"
- ],
- [
- "Liberia",
- "lr",
- "231"
- ],
- [
- "Libya (ليبيا)",
- "ly",
- "218"
- ],
- [
- "Liechtenstein",
- "li",
- "423"
- ],
- [
- "Lithuania (Lietuva)",
- "lt",
- "370"
- ],
- [
- "Luxembourg",
- "lu",
- "352"
- ],
- [
- "Macau (澳門)",
- "mo",
- "853"
- ],
- [
- "Macedonia (FYROM) (Македонија)",
- "mk",
- "389"
- ],
- [
- "Madagascar (Madagasikara)",
- "mg",
- "261"
- ],
- [
- "Malawi",
- "mw",
- "265"
- ],
- [
- "Malaysia",
- "my",
- "60"
- ],
- [
- "Maldives",
- "mv",
- "960"
- ],
- [
- "Mali",
- "ml",
- "223"
- ],
- [
- "Malta",
- "mt",
- "356"
- ],
- [
- "Marshall Islands",
- "mh",
- "692"
- ],
- [
- "Martinique",
- "mq",
- "596"
- ],
- [
- "Mauritania (موريتانيا)",
- "mr",
- "222"
- ],
- [
- "Mauritius (Moris)",
- "mu",
- "230"
- ],
- [
- "Mayotte",
- "yt",
- "262",
- 1
- ],
- [
- "Mexico (México)",
- "mx",
- "52"
- ],
- [
- "Micronesia",
- "fm",
- "691"
- ],
- [
- "Moldova (Republica Moldova)",
- "md",
- "373"
- ],
- [
- "Monaco",
- "mc",
- "377"
- ],
- [
- "Mongolia (Монгол)",
- "mn",
- "976"
- ],
- [
- "Montenegro (Crna Gora)",
- "me",
- "382"
- ],
- [
- "Montserrat",
- "ms",
- "1664"
- ],
- [
- "Morocco (المغرب)",
- "ma",
- "212",
- 0
- ],
- [
- "Mozambique (Moçambique)",
- "mz",
- "258"
- ],
- [
- "Myanmar (Burma) (မြန်မာ)",
- "mm",
- "95"
- ],
- [
- "Namibia (Namibië)",
- "na",
- "264"
- ],
- [
- "Nauru",
- "nr",
- "674"
- ],
- [
- "Nepal (नेपाल)",
- "np",
- "977"
- ],
- [
- "Netherlands (Nederland)",
- "nl",
- "31"
- ],
- [
- "New Caledonia (Nouvelle-Calédonie)",
- "nc",
- "687"
- ],
- [
- "New Zealand",
- "nz",
- "64"
- ],
- [
- "Nicaragua",
- "ni",
- "505"
- ],
- [
- "Niger (Nijar)",
- "ne",
- "227"
- ],
- [
- "Nigeria",
- "ng",
- "234"
- ],
- [
- "Niue",
- "nu",
- "683"
- ],
- [
- "Norfolk Island",
- "nf",
- "672"
- ],
- [
- "North Korea (조선 민주주의 인민 공화국)",
- "kp",
- "850"
- ],
- [
- "Northern Mariana Islands",
- "mp",
- "1670"
- ],
- [
- "Norway (Norge)",
- "no",
- "47",
- 0
- ],
- [
- "Oman (عُمان)",
- "om",
- "968"
- ],
- [
- "Pakistan (پاکستان)",
- "pk",
- "92"
- ],
- [
- "Palau",
- "pw",
- "680"
- ],
- [
- "Palestine (فلسطين)",
- "ps",
- "970"
- ],
- [
- "Panama (Panamá)",
- "pa",
- "507"
- ],
- [
- "Papua New Guinea",
- "pg",
- "675"
- ],
- [
- "Paraguay",
- "py",
- "595"
- ],
- [
- "Peru (Perú)",
- "pe",
- "51"
- ],
- [
- "Philippines",
- "ph",
- "63"
- ],
- [
- "Poland (Polska)",
- "pl",
- "48"
- ],
- [
- "Portugal",
- "pt",
- "351"
- ],
- [
- "Puerto Rico",
- "pr",
- "1",
- 3,
- ["787", "939"]
- ],
- [
- "Qatar (قطر)",
- "qa",
- "974"
- ],
- [
- "Réunion (La Réunion)",
- "re",
- "262",
- 0
- ],
- [
- "Romania (România)",
- "ro",
- "40"
- ],
- [
- "Russia (Россия)",
- "ru",
- "7",
- 0
- ],
- [
- "Rwanda",
- "rw",
- "250"
- ],
- [
- "Saint Barthélemy",
- "bl",
- "590",
- 1
- ],
- [
- "Saint Helena",
- "sh",
- "290"
- ],
- [
- "Saint Kitts and Nevis",
- "kn",
- "1869"
- ],
- [
- "Saint Lucia",
- "lc",
- "1758"
- ],
- [
- "Saint Martin (Saint-Martin (partie française))",
- "mf",
- "590",
- 2
- ],
- [
- "Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)",
- "pm",
- "508"
- ],
- [
- "Saint Vincent and the Grenadines",
- "vc",
- "1784"
- ],
- [
- "Samoa",
- "ws",
- "685"
- ],
- [
- "San Marino",
- "sm",
- "378"
- ],
- [
- "São Tomé and Príncipe (São Tomé e Príncipe)",
- "st",
- "239"
- ],
- [
- "Saudi Arabia (المملكة العربية السعودية)",
- "sa",
- "966"
- ],
- [
- "Senegal (Sénégal)",
- "sn",
- "221"
- ],
- [
- "Serbia (Србија)",
- "rs",
- "381"
- ],
- [
- "Seychelles",
- "sc",
- "248"
- ],
- [
- "Sierra Leone",
- "sl",
- "232"
- ],
- [
- "Singapore",
- "sg",
- "65"
- ],
- [
- "Sint Maarten",
- "sx",
- "1721"
- ],
- [
- "Slovakia (Slovensko)",
- "sk",
- "421"
- ],
- [
- "Slovenia (Slovenija)",
- "si",
- "386"
- ],
- [
- "Solomon Islands",
- "sb",
- "677"
- ],
- [
- "Somalia (Soomaaliya)",
- "so",
- "252"
- ],
- [
- "South Africa",
- "za",
- "27"
- ],
- [
- "South Korea (대한민국)",
- "kr",
- "82"
- ],
- [
- "South Sudan (جنوب السودان)",
- "ss",
- "211"
- ],
- [
- "Spain (España)",
- "es",
- "34"
- ],
- [
- "Sri Lanka (ශ්රී ලංකාව)",
- "lk",
- "94"
- ],
- [
- "Sudan (السودان)",
- "sd",
- "249"
- ],
- [
- "Suriname",
- "sr",
- "597"
- ],
- [
- "Svalbard and Jan Mayen",
- "sj",
- "47",
- 1
- ],
- [
- "Swaziland",
- "sz",
- "268"
- ],
- [
- "Sweden (Sverige)",
- "se",
- "46"
- ],
- [
- "Switzerland (Schweiz)",
- "ch",
- "41"
- ],
- [
- "Syria (سوريا)",
- "sy",
- "963"
- ],
- [
- "Taiwan (台灣)",
- "tw",
- "886"
- ],
- [
- "Tajikistan",
- "tj",
- "992"
- ],
- [
- "Tanzania",
- "tz",
- "255"
- ],
- [
- "Thailand (ไทย)",
- "th",
- "66"
- ],
- [
- "Timor-Leste",
- "tl",
- "670"
- ],
- [
- "Togo",
- "tg",
- "228"
- ],
- [
- "Tokelau",
- "tk",
- "690"
- ],
- [
- "Tonga",
- "to",
- "676"
- ],
- [
- "Trinidad and Tobago",
- "tt",
- "1868"
- ],
- [
- "Tunisia (تونس)",
- "tn",
- "216"
- ],
- [
- "Turkey (Türkiye)",
- "tr",
- "90"
- ],
- [
- "Turkmenistan",
- "tm",
- "993"
- ],
- [
- "Turks and Caicos Islands",
- "tc",
- "1649"
- ],
- [
- "Tuvalu",
- "tv",
- "688"
- ],
- [
- "U.S. Virgin Islands",
- "vi",
- "1340"
- ],
- [
- "Uganda",
- "ug",
- "256"
- ],
- [
- "Ukraine (Україна)",
- "ua",
- "380"
- ],
- [
- "United Arab Emirates (الإمارات العربية المتحدة)",
- "ae",
- "971"
- ],
- [
- "United Kingdom",
- "gb",
- "44",
- 0
- ],
- [
- "United States",
- "us",
- "1",
- 0
- ],
- [
- "Uruguay",
- "uy",
- "598"
- ],
- [
- "Uzbekistan (Oʻzbekiston)",
- "uz",
- "998"
- ],
- [
- "Vanuatu",
- "vu",
- "678"
- ],
- [
- "Vatican City (Città del Vaticano)",
- "va",
- "39",
- 1
- ],
- [
- "Venezuela",
- "ve",
- "58"
- ],
- [
- "Vietnam (Việt Nam)",
- "vn",
- "84"
- ],
- [
- "Wallis and Futuna (Wallis-et-Futuna)",
- "wf",
- "681"
- ],
- [
- "Western Sahara (الصحراء الغربية)",
- "eh",
- "212",
- 1
- ],
- [
- "Yemen (اليمن)",
- "ye",
- "967"
- ],
- [
- "Zambia",
- "zm",
- "260"
- ],
- [
- "Zimbabwe",
- "zw",
- "263"
- ],
- [
- "Åland Islands",
- "ax",
- "358",
- 1
- ]
- ]
+ flagEl : function()
+ {
+ var flag = this.el.select('div.flag',true).first();
+ if(!flag){
+ return false;
+ }
+ return flag;
+ },
+
+ dialCodeHolderEl : function()
+ {
+ var d = this.el.select('input.dial-code-holder',true).first();
+ if(!d){
+ return false;
+ }
+ return d;
+ },
+
+ setDialCode : function(v)
+ {
+ this.dialCodeHolder.dom.value = '+'+v;
+ },
+
+ setFlagClass : function(n)
+ {
+ this.flag.dom.className = 'flag '+n;
+ },
+
+ getValue : function()
+ {
+ var v = this.inputEl().getValue();
+ if(this.dialCodeHolder) {
+ v = this.dialCodeHolder.dom.value+this.inputEl().getValue();
+ }
+ return v;
+ },
+
+ setValue : function(v)
+ {
+ var d = this.getDialCode(v);
+ this.value = v;
+
+ if(!d || d.length == 0) {
+ if(this.rendered){
+ this.inputEl().dom.value = (v === null || v === undefined ? '' : v);
+ }
+ return;
+ }
+
+ this.setFlagClass(this.dialCodeMapping[d].iso2);
+ this.setDialCode(d);
+ this.inputEl().dom.value = v.replace('+'+d,'');
+ },
+
+ getDialCode : function(v = '')
+ {
+ if (v.length == 0) {
+ return this.dialCodeHolder.dom.value;
+ }
+
+ var dialCode = "";
+ // only interested in international numbers (starting with a plus)
+ if (v.charAt(0) != "+") {
+ return false;
+ }
+ var numericChars = "";
+ for (var i = 1; i < v.length; i++) {
+ var c = v.charAt(i);
+ if (!isNaN(c)) {
+ numericChars += c;
+ if (this.dialCodeMapping[numericChars]) {
+ dialCode = v.substr(1, i);
+ }
+ if (numericChars.length == 4) {
+ break;
+ }
+ }
+ }
+ return dialCode;
+ },
+
+ validate : function()
+ {
+ //
+ return false;
+ }
});
\ No newline at end of file