Seditio Source
Root |
./othercms/xenForo 2.2.8/js/xf/tel_box.js
!function($, window, document, _undefined)
{
"use strict";

// ################################## TEL BOX HANDLER ###########################################

XF.TelBox = XF.Element.newHandler({
options: {
telInput: '.js-telInput',
dialCode: '.js-dialCode',
intlNumb: '.js-intlNumb'
},

$telInput: null,
$dialCode: null,
$intlNumb: null,

init: function()
{
var $target = this.$target,
$telInput = $target.find(this.options.telInput),
$dialCode = $target.find(this.options.dialCode),
$intlNumb = $target.find(this.options.intlNumb);

if (!$telInput.length)
{
console.error('No tel input found.');
return;
}

if (!$dialCode.length)
{
console.error('No dial code hidden input found.');
return;
}

if (!$intlNumb.length)
{
console.error('No international number hidden input found.');
return;
}

$telInput.intlTelInput();
$target.closest('form').on('submit', XF.proxy(this, 'beforeSubmit'));

this.$telInput = $telInput;
this.$dialCode = $dialCode;
this.$intlNumb = $intlNumb;
},

beforeSubmit: function(e)
{
var $telInput = this.$telInput,
$intlNumb = this.$intlNumb,
$dialCode = this.$dialCode,
intlNumb = $telInput.intlTelInput('getNumber'),
countryData = $telInput.intlTelInput('getSelectedCountryData');

$intlNumb.val(intlNumb);
$dialCode.val(countryData['dialCode']);
}
});

XF.Element.register('tel-box', 'XF.TelBox');
}
(jQuery, window, document);