1
1
document . addEventListener ( "DOMContentLoaded" , function ( ) {
2
+ const setValueOnElement = ( element , value ) => {
3
+ if ( element ) {
4
+ element . value = value ;
5
+ }
6
+ } ;
7
+
2
8
/**
3
9
* Sets up the Address Finder field.
4
10
* @param {HTMLElement } elem
@@ -20,6 +26,7 @@ document.addEventListener("DOMContentLoaded", function () {
20
26
21
27
if ( address ) {
22
28
field = address . querySelector ( "input" ) ;
29
+ address . style . display = "block" ;
23
30
}
24
31
25
32
if ( ! field ) {
@@ -36,10 +43,10 @@ document.addEventListener("DOMContentLoaded", function () {
36
43
toggle . style . display = "block" ;
37
44
}
38
45
39
- address . style . display = "block" ;
40
-
41
46
if ( useManual && useManual . value !== "1" ) {
42
- manual . style . display = "none" ;
47
+ if ( manual ) {
48
+ manual . style . display = "none" ;
49
+ }
43
50
}
44
51
45
52
// Create widget
@@ -49,28 +56,45 @@ document.addEventListener("DOMContentLoaded", function () {
49
56
50
57
// Update manual fields and hidden metadata
51
58
widget . on ( "result:select" , function ( value , item ) {
52
- for ( var i = 1 ; i <= 6 ; i ++ ) {
53
- var postalInput = manual . querySelector (
54
- "input[name*=PostalLine" + i + "]"
55
- ) ;
56
- if ( postalInput ) {
57
- postalInput . value = item [ "postal_line_" + i ] || "" ;
59
+ if ( manual ) {
60
+ for ( var i = 1 ; i <= 6 ; i ++ ) {
61
+ var postalInput = manual . querySelector (
62
+ "input[name*=PostalLine" + i + "]"
63
+ ) ;
64
+ if ( postalInput ) {
65
+ postalInput . value = item [ "postal_line_" + i ] || "" ;
66
+ }
58
67
}
59
- }
60
68
61
- if ( manual ) {
62
- manual . querySelector ( "input[name*=Suburb]" ) . value =
63
- item . suburb || "" ;
64
- manual . querySelector ( "input[name*=Region]" ) . value =
65
- item . region || "" ;
66
- manual . querySelector ( "input[name*=City]" ) . value =
67
- item . city || "" ;
68
- manual . querySelector ( "input[name*=Postcode]" ) . value =
69
- item . postcode || "" ;
70
- manual . querySelector ( "input[name*=Longitude]" ) . value =
71
- item . x || "" ;
72
- manual . querySelector ( "input[name*=Latitude]" ) . value =
73
- item . y || "" ;
69
+ setValueOnElement (
70
+ manual . querySelector ( "input[name*=Suburb]" ) ,
71
+ item . suburb || ""
72
+ ) ;
73
+
74
+ setValueOnElement (
75
+ manual . querySelector ( "input[name*=Region]" ) ,
76
+ item . region || ""
77
+ ) ;
78
+
79
+ setValueOnElement (
80
+ manual . querySelector ( "input[name*=City]" ) ,
81
+ item . city || ""
82
+ ) ;
83
+
84
+ setValueOnElement (
85
+ manual . querySelector ( "input[name*=Postcode]" ) ,
86
+ item . postcode || ""
87
+ ) ;
88
+
89
+ setValueOnElement (
90
+ manual . querySelector ( "input[name*=Longitude]" ) ,
91
+ item . x || ""
92
+ ) ;
93
+
94
+ setValueOnElement (
95
+ manual . querySelector ( "input[name*=Latitude]" ) ,
96
+ item . y || ""
97
+ ) ;
74
98
}
75
99
76
100
var event = new Event ( "addressselected" , { bubbles : true } ) ;
@@ -81,6 +105,10 @@ document.addEventListener("DOMContentLoaded", function () {
81
105
toggle ?. addEventListener ( "click" , function ( e ) {
82
106
e . preventDefault ( ) ;
83
107
108
+ if ( ! manual ) {
109
+ return ;
110
+ }
111
+
84
112
if (
85
113
manual . style . display === "none" ||
86
114
manual . style . display === ""
@@ -97,7 +125,9 @@ document.addEventListener("DOMContentLoaded", function () {
97
125
98
126
// Focus event to hide manual
99
127
input ?. addEventListener ( "focus" , function ( ) {
100
- manual . style . display = "none" ;
128
+ if ( manual ) {
129
+ manual . style . display = "none" ;
130
+ }
101
131
} ) ;
102
132
} ;
103
133
@@ -106,5 +136,6 @@ document.addEventListener("DOMContentLoaded", function () {
106
136
setupAddressFinderField ( elem ) ;
107
137
} ) ;
108
138
139
+ // @ts -ignore
109
140
window . setupAddressFinderField = setupAddressFinderField ;
110
141
} ) ;
0 commit comments