Skip to content

Commit 8cb7f54

Browse files
author
Travis Bernard
committed
20.3.0 Added a setting to use extended postcodes when available
1 parent 9ff2f53 commit 8cb7f54

File tree

8 files changed

+98
-5
lines changed

8 files changed

+98
-5
lines changed

.gitattributes

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
/test export-ignore
2+
.gitattributes export-ignore
3+
.gitignore export-ignore
4+
.gitmodules export-ignore
5+
.editorconfig export-ignore
6+
/package.json export-ignore
7+
/package-lock.json export-ignore
8+
/gulpfile.js export-ignore
9+
/grumphp.yml export-ignore
10+
/composer.lock export-ignore
11+
/.eslintrc export-ignore
12+
/.eslintignore export-ignore
13+
/.jscsrc export-ignore

CHANGELOG.MD

+6-2
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,11 @@ Updated README with grammar corrections
3737

3838
## 20.1.3
3939
SHQ18-65 - handle Google API authentication errors
40-
## 20.2.0
41-
SHQ16-2496 Make geolocation optional
40+
## 20.2.1 (2018-07-27)
41+
SHQ18-260 Disable Google Chrome autofill if address lookup is enabled
42+
43+
44+
## 20.3.0 (2018-12-18)
45+
Added a setting to use extended postcodes when available
4246

4347

composer.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "shipperhq/module-address-autocomplete",
33
"description": "ShipperHQ Address Autocomplete Tool",
44
"type": "magento2-module",
5-
"version": "20.2.0",
5+
"version": "20.3.0",
66
"license": [
77
"OSL-3.0",
88
"AFL-3.0"
@@ -21,7 +21,7 @@
2121
"documentation": "http://docs.shipperhq.com"
2222
},
2323
"require": {
24-
"shipperhq/module-shipper": "*"
24+
"shipperhq/module-shipper": "^20.0"
2525
},
2626
"autoload": {
2727
"files": [

src/Model/AutocompleteConfigProvider.php

+2-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,8 @@ public function getConfig()
6161
$config['shipperhq_autocomplete'] = [
6262
'active' => $this->helper->getConfigValue('shipping/shipper_autocomplete/active'),
6363
'api_key' => $this->helper->getConfigValue('shipping/shipper_autocomplete/google_api_key'),
64-
'use_geolocation' => $this->helper->getConfigValue('shipping/shipper_autocomplete/use_geolocation')
64+
'use_geolocation' => $this->helper->getConfigValue('shipping/shipper_autocomplete/use_geolocation'),
65+
'use_long_postcode' => $this->helper->getConfigValue('shipping/shipper_autocomplete/use_long_postcode')
6566
];
6667
return $config;
6768
}

src/composer.json

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
{
2+
"name": "shipperhq/module-address-autocomplete",
3+
"description": "ShipperHQ Address Autocomplete Tool",
4+
"type": "magento2-module",
5+
"version": "20.3.0",
6+
"license": [
7+
"OSL-3.0",
8+
"AFL-3.0"
9+
],
10+
"authors": [
11+
{
12+
"name": "ShipperHQ",
13+
"email": "[email protected]",
14+
"homepage": "http://www.Shipperhq.com"
15+
},
16+
{
17+
"name": "Zowta LLC"
18+
}
19+
],
20+
"support": {
21+
"documentation": "http://docs.shipperhq.com"
22+
},
23+
"require": {
24+
"shipperhq/module-shipper": "^20.0"
25+
},
26+
"autoload": {
27+
"files": [
28+
"registration.php"
29+
],
30+
"psr-4": {
31+
"ShipperHQ\\AddressAutocomplete\\": ""
32+
}
33+
}
34+
}

src/etc/adminhtml/system.xml

+10
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,16 @@
6969
]]>
7070
</comment>
7171
</field>
72+
<field id="use_long_postcode" type="select" translate="label" sortOrder="130" showInDefault="1" showInWebsite="1"
73+
showInStore="1">
74+
<label>Use Long Postcode</label>
75+
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
76+
<comment>
77+
<![CDATA[
78+
If yes will use Zip+4 postcodes when available
79+
]]>
80+
</comment>
81+
</field>
7282
</group>
7383
</section>
7484
</system>

src/etc/config.xml

+1
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
<shipping>
3939
<shipper_autocomplete>
4040
<use_geolocation>1</use_geolocation>
41+
<use_long_postcode>0</use_long_postcode>
4142
</shipper_autocomplete>
4243
</shipping>
4344
</default>

src/view/frontend/web/js/autocomplete.js

+30
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ define([
2020
administrative_area_level_1: 'long_name',
2121
country: 'short_name',
2222
postal_code: 'short_name',
23+
postal_code_suffix: 'short_name',
2324
postal_town: 'short_name',
2425
sublocality_level_1: 'short_name'
2526
};
@@ -49,8 +50,21 @@ define([
4950
var domID = uiRegistry.get('checkout.steps.shipping-step.shippingAddress.shipping-address-fieldset.street').elems()[0].uid;
5051

5152
var street = $('#' + domID);
53+
54+
//SHQ18-260
55+
var observer = new MutationObserver(function () {
56+
observer.disconnect();
57+
$("#" + domID).attr("autocomplete", "new-password");
58+
});
59+
5260
street.each(function () {
5361
var element = this;
62+
63+
observer.observe(element, {
64+
attributes: true,
65+
attributeFilter: ['autocomplete']
66+
});
67+
5468
autocomplete = new google.maps.places.Autocomplete(
5569
/** @type {!HTMLInputElement} */(this),
5670
{types: ['geocode']}
@@ -74,6 +88,8 @@ define([
7488
var region = '';
7589
var streetNumber = '';
7690
var city = '';
91+
var postcode = '';
92+
var postcodeSuffix = '';
7793

7894
for (var i = 0; i < place.address_components.length; i++) {
7995
var addressType = place.address_components[i].types[0];
@@ -94,6 +110,20 @@ define([
94110
} else if (addressType == 'locality' && city == '') {
95111
//ignore if we are using one of other city values already
96112
city = value;
113+
} else if (addressType == 'postal_code') {
114+
postcode = value;
115+
var thisDomID = uiRegistry.get('checkout.steps.shipping-step.shippingAddress.shipping-address-fieldset.postcode').uid
116+
if ($('#'+thisDomID)) {
117+
$('#'+thisDomID).val(postcode + postcodeSuffix);
118+
$('#'+thisDomID).trigger('change');
119+
}
120+
} else if (addressType == 'postal_code_suffix' && window.checkoutConfig.shipperhq_autocomplete.use_long_postcode) {
121+
postcodeSuffix = '-' + value;
122+
var thisDomID = uiRegistry.get('checkout.steps.shipping-step.shippingAddress.shipping-address-fieldset.postcode').uid
123+
if ($('#'+thisDomID)) {
124+
$('#'+thisDomID).val(postcode + postcodeSuffix);
125+
$('#'+thisDomID).trigger('change');
126+
}
97127
} else {
98128
var elementId = lookupElement[addressType];
99129
var thisDomID = uiRegistry.get('checkout.steps.shipping-step.shippingAddress.shipping-address-fieldset.'+ elementId).uid;

0 commit comments

Comments
 (0)