1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-08 20:22:42 +01:00

Improve postal code lookup

This commit is contained in:
Hillel Coren 2018-04-25 16:21:07 +03:00
parent 525162e27e
commit 00dda9769d
3 changed files with 8 additions and 5 deletions

View File

@ -94,7 +94,7 @@
{!! Former::text('city') !!}
{!! Former::text('state') !!}
{!! Former::text('postal_code')
->onchange(config('ninja.google_maps_enabled') ? 'lookupPostalCode()' : '') !!}
->oninput(config('ninja.google_maps_enabled') ? 'lookupPostalCode()' : '') !!}
{!! Former::select('country_id')->addOption('','')
->fromQuery($countries, 'name', 'id') !!}
@ -112,7 +112,7 @@
{!! Former::text('shipping_city')->label('city') !!}
{!! Former::text('shipping_state')->label('state') !!}
{!! Former::text('shipping_postal_code')
->onchange(config('ninja.google_maps_enabled') ? 'lookupPostalCode(true)' : '')
->oninput(config('ninja.google_maps_enabled') ? 'lookupPostalCode(true)' : '')
->label('postal_code') !!}
{!! Former::select('shipping_country_id')->addOption('','')
->fromQuery($countries, 'name', 'id')->label('country_id') !!}

View File

@ -64,10 +64,12 @@ function lookupPostalCode(isShipping) {
var countryId = $('#' + countryField).val() || {{ $account->getCountryId() }};
var countryCode = countryMap[countryId].iso_3166_2;
if (! postalCode) {
if (! postalCode || postalCode.length < 5) {
return;
}
$('#' + cityField).attr('placeholder', {!! json_encode(trans('texts.loading') . '...') !!});
var geocoder = new google.maps.Geocoder;
geocoder.geocode({
componentRestrictions: {
@ -97,8 +99,9 @@ function lookupPostalCode(isShipping) {
}
}
}
$('#' + cityField).attr('placeholder', '');
} else {
$('#' + cityField).attr("placeholder", {!! json_encode(trans('texts.no_match_found')) !!});
$('#' + cityField).attr('placeholder', {!! json_encode(trans('texts.no_match_found')) !!});
}
showGeocodePlaceholder(isShipping);
});

View File

@ -65,7 +65,7 @@
{!! Former::text('state') !!}
{!! Former::text('postal_code')
->onchange(config('ninja.google_maps_enabled') ? 'lookupPostalCode()' : '') !!}
->oninput(config('ninja.google_maps_enabled') ? 'lookupPostalCode()' : '') !!}
{!! Former::select('country_id')->addOption('','')
->fromQuery($countries, 'name', 'id') !!}