Skip to content

Commit

Permalink
20.3.0 Added a setting to use extended postcodes when available
Browse files Browse the repository at this point in the history
  • Loading branch information
Travis Bernard committed Dec 18, 2018
1 parent 9ff2f53 commit 8cb7f54
Show file tree
Hide file tree
Showing 8 changed files with 98 additions and 5 deletions.
13 changes: 13 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/test export-ignore
.gitattributes export-ignore
.gitignore export-ignore
.gitmodules export-ignore
.editorconfig export-ignore
/package.json export-ignore
/package-lock.json export-ignore
/gulpfile.js export-ignore
/grumphp.yml export-ignore
/composer.lock export-ignore
/.eslintrc export-ignore
/.eslintignore export-ignore
/.jscsrc export-ignore
8 changes: 6 additions & 2 deletions CHANGELOG.MD
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,11 @@ Updated README with grammar corrections

## 20.1.3
SHQ18-65 - handle Google API authentication errors
## 20.2.0
SHQ16-2496 Make geolocation optional
## 20.2.1 (2018-07-27)
SHQ18-260 Disable Google Chrome autofill if address lookup is enabled


## 20.3.0 (2018-12-18)
Added a setting to use extended postcodes when available


4 changes: 2 additions & 2 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "shipperhq/module-address-autocomplete",
"description": "ShipperHQ Address Autocomplete Tool",
"type": "magento2-module",
"version": "20.2.0",
"version": "20.3.0",
"license": [
"OSL-3.0",
"AFL-3.0"
Expand All @@ -21,7 +21,7 @@
"documentation": "http://docs.shipperhq.com"
},
"require": {
"shipperhq/module-shipper": "*"
"shipperhq/module-shipper": "^20.0"
},
"autoload": {
"files": [
Expand Down
3 changes: 2 additions & 1 deletion src/Model/AutocompleteConfigProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,8 @@ public function getConfig()
$config['shipperhq_autocomplete'] = [
'active' => $this->helper->getConfigValue('shipping/shipper_autocomplete/active'),
'api_key' => $this->helper->getConfigValue('shipping/shipper_autocomplete/google_api_key'),
'use_geolocation' => $this->helper->getConfigValue('shipping/shipper_autocomplete/use_geolocation')
'use_geolocation' => $this->helper->getConfigValue('shipping/shipper_autocomplete/use_geolocation'),
'use_long_postcode' => $this->helper->getConfigValue('shipping/shipper_autocomplete/use_long_postcode')
];
return $config;
}
Expand Down
34 changes: 34 additions & 0 deletions src/composer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"name": "shipperhq/module-address-autocomplete",
"description": "ShipperHQ Address Autocomplete Tool",
"type": "magento2-module",
"version": "20.3.0",
"license": [
"OSL-3.0",
"AFL-3.0"
],
"authors": [
{
"name": "ShipperHQ",
"email": "[email protected]",
"homepage": "http://www.Shipperhq.com"
},
{
"name": "Zowta LLC"
}
],
"support": {
"documentation": "http://docs.shipperhq.com"
},
"require": {
"shipperhq/module-shipper": "^20.0"
},
"autoload": {
"files": [
"registration.php"
],
"psr-4": {
"ShipperHQ\\AddressAutocomplete\\": ""
}
}
}
10 changes: 10 additions & 0 deletions src/etc/adminhtml/system.xml
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,16 @@
]]>
</comment>
</field>
<field id="use_long_postcode" type="select" translate="label" sortOrder="130" showInDefault="1" showInWebsite="1"
showInStore="1">
<label>Use Long Postcode</label>
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
<comment>
<![CDATA[
If yes will use Zip+4 postcodes when available
]]>
</comment>
</field>
</group>
</section>
</system>
Expand Down
1 change: 1 addition & 0 deletions src/etc/config.xml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
<shipping>
<shipper_autocomplete>
<use_geolocation>1</use_geolocation>
<use_long_postcode>0</use_long_postcode>
</shipper_autocomplete>
</shipping>
</default>
Expand Down
30 changes: 30 additions & 0 deletions src/view/frontend/web/js/autocomplete.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ define([
administrative_area_level_1: 'long_name',
country: 'short_name',
postal_code: 'short_name',
postal_code_suffix: 'short_name',
postal_town: 'short_name',
sublocality_level_1: 'short_name'
};
Expand Down Expand Up @@ -49,8 +50,21 @@ define([
var domID = uiRegistry.get('checkout.steps.shipping-step.shippingAddress.shipping-address-fieldset.street').elems()[0].uid;

var street = $('#' + domID);

//SHQ18-260
var observer = new MutationObserver(function () {
observer.disconnect();
$("#" + domID).attr("autocomplete", "new-password");
});

street.each(function () {
var element = this;

observer.observe(element, {
attributes: true,
attributeFilter: ['autocomplete']
});

autocomplete = new google.maps.places.Autocomplete(
/** @type {!HTMLInputElement} */(this),
{types: ['geocode']}
Expand All @@ -74,6 +88,8 @@ define([
var region = '';
var streetNumber = '';
var city = '';
var postcode = '';
var postcodeSuffix = '';

for (var i = 0; i < place.address_components.length; i++) {
var addressType = place.address_components[i].types[0];
Expand All @@ -94,6 +110,20 @@ define([
} else if (addressType == 'locality' && city == '') {
//ignore if we are using one of other city values already
city = value;
} else if (addressType == 'postal_code') {
postcode = value;
var thisDomID = uiRegistry.get('checkout.steps.shipping-step.shippingAddress.shipping-address-fieldset.postcode').uid
if ($('#'+thisDomID)) {
$('#'+thisDomID).val(postcode + postcodeSuffix);
$('#'+thisDomID).trigger('change');
}
} else if (addressType == 'postal_code_suffix' && window.checkoutConfig.shipperhq_autocomplete.use_long_postcode) {
postcodeSuffix = '-' + value;
var thisDomID = uiRegistry.get('checkout.steps.shipping-step.shippingAddress.shipping-address-fieldset.postcode').uid
if ($('#'+thisDomID)) {
$('#'+thisDomID).val(postcode + postcodeSuffix);
$('#'+thisDomID).trigger('change');
}
} else {
var elementId = lookupElement[addressType];
var thisDomID = uiRegistry.get('checkout.steps.shipping-step.shippingAddress.shipping-address-fieldset.'+ elementId).uid;
Expand Down

0 comments on commit 8cb7f54

Please sign in to comment.