@@ -20,6 +20,7 @@ define([
20
20
administrative_area_level_1 : 'long_name' ,
21
21
country : 'short_name' ,
22
22
postal_code : 'short_name' ,
23
+ postal_code_suffix : 'short_name' ,
23
24
postal_town : 'short_name' ,
24
25
sublocality_level_1 : 'short_name'
25
26
} ;
@@ -49,8 +50,21 @@ define([
49
50
var domID = uiRegistry . get ( 'checkout.steps.shipping-step.shippingAddress.shipping-address-fieldset.street' ) . elems ( ) [ 0 ] . uid ;
50
51
51
52
var street = $ ( '#' + domID ) ;
53
+
54
+ //SHQ18-260
55
+ var observer = new MutationObserver ( function ( ) {
56
+ observer . disconnect ( ) ;
57
+ $ ( "#" + domID ) . attr ( "autocomplete" , "new-password" ) ;
58
+ } ) ;
59
+
52
60
street . each ( function ( ) {
53
61
var element = this ;
62
+
63
+ observer . observe ( element , {
64
+ attributes : true ,
65
+ attributeFilter : [ 'autocomplete' ]
66
+ } ) ;
67
+
54
68
autocomplete = new google . maps . places . Autocomplete (
55
69
/** @type {!HTMLInputElement } */ ( this ) ,
56
70
{ types : [ 'geocode' ] }
@@ -74,6 +88,8 @@ define([
74
88
var region = '' ;
75
89
var streetNumber = '' ;
76
90
var city = '' ;
91
+ var postcode = '' ;
92
+ var postcodeSuffix = '' ;
77
93
78
94
for ( var i = 0 ; i < place . address_components . length ; i ++ ) {
79
95
var addressType = place . address_components [ i ] . types [ 0 ] ;
@@ -94,6 +110,20 @@ define([
94
110
} else if ( addressType == 'locality' && city == '' ) {
95
111
//ignore if we are using one of other city values already
96
112
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
+ }
97
127
} else {
98
128
var elementId = lookupElement [ addressType ] ;
99
129
var thisDomID = uiRegistry . get ( 'checkout.steps.shipping-step.shippingAddress.shipping-address-fieldset.' + elementId ) . uid ;
0 commit comments