Skip to content

Commit 362c6ec

Browse files
Update dist folder (#254)
Co-authored-by: googlemaps-bot <[email protected]>
1 parent 7e5b736 commit 362c6ec

File tree

7 files changed

+152
-142
lines changed

7 files changed

+152
-142
lines changed

dist/samples/place-autocomplete-data-session/app/index.ts

Lines changed: 38 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -5,50 +5,55 @@
55
*/
66

77
// [START maps_place_autocomplete_data_session]
8-
let title;
9-
let results;
10-
let input;
11-
let token;
8+
let titleElement;
9+
let resultsContainerElement;
10+
let inputElement;
11+
12+
let newestRequestId = 0;
1213

1314
// Add an initial request body.
14-
let request = {
15-
input: "",
15+
const request = {
16+
input: '',
1617
locationRestriction: { west: -122.44, north: 37.8, east: -122.39, south: 37.78 },
1718
origin: { lat: 37.7893, lng: -122.4039 },
18-
includedPrimaryTypes: ["restaurant"],
19-
language: "en-US",
20-
region: "us",
19+
includedPrimaryTypes: ['restaurant'],
20+
language: 'en-US',
21+
region: 'us',
2122
};
2223

23-
async function init() {
24-
token = new google.maps.places.AutocompleteSessionToken();
25-
26-
title = document.getElementById('title');
27-
results = document.getElementById('results');
28-
input = document.querySelector("input");
29-
input.addEventListener("input", makeAcRequest);
30-
request = refreshToken(request) as any;
24+
function init() {
25+
titleElement = document.getElementById('title');
26+
resultsContainerElement = document.getElementById('results');
27+
inputElement = document.querySelector('input');
28+
inputElement.addEventListener('input', makeAutocompleteRequest);
29+
refreshToken(request);
3130
}
3231

33-
async function makeAcRequest(input) {
32+
async function makeAutocompleteRequest(inputEvent) {
3433
// Reset elements and exit if an empty string is received.
35-
if (input.target.value == '') {
36-
title.innerText = '';
37-
results.replaceChildren();
34+
if (inputEvent.target.value == '') {
35+
titleElement.innerText = '';
36+
resultsContainerElement.replaceChildren();
3837
return;
3938
}
4039

4140
// Add the latest char sequence to the request.
42-
request.input = input.target.value;
41+
request.input = inputEvent.target.value;
42+
43+
// To avoid race conditions, store the request ID and compare after the request.
44+
const requestId = ++newestRequestId;
4345

4446
// Fetch autocomplete suggestions and show them in a list.
4547
// @ts-ignore
4648
const { suggestions } = await google.maps.places.AutocompleteSuggestion.fetchAutocompleteSuggestions(request);
4749

48-
title.innerText = 'Query predictions for "' + request.input + '"';
50+
// If the request has been superseded by a newer request, do not render the output.
51+
if (requestId !== newestRequestId) return;
52+
53+
titleElement.innerText = `Query predictions for "${request.input}"`;
4954

5055
// Clear the list first.
51-
results.replaceChildren();
56+
resultsContainerElement.replaceChildren();
5257

5358
for (const suggestion of suggestions) {
5459
const placePrediction = suggestion.placePrediction;
@@ -60,10 +65,10 @@ async function makeAcRequest(input) {
6065
});
6166
a.innerText = placePrediction!.text.toString();
6267

63-
// Create a new list element.
68+
// Create a new list item element.
6469
const li = document.createElement('li');
6570
li.appendChild(a);
66-
results.appendChild(li);
71+
resultsContainerElement.appendChild(li);
6772
}
6873
}
6974

@@ -72,19 +77,17 @@ async function onPlaceSelected(place) {
7277
await place.fetchFields({
7378
fields: ['displayName', 'formattedAddress'],
7479
});
75-
let placeText = document.createTextNode(place.displayName + ': ' + place.formattedAddress);
76-
results.replaceChildren(placeText);
77-
title.innerText = 'Selected Place:';
78-
input.value = '';
80+
const placeText = document.createTextNode(`${place.displayName}: ${place.formattedAddress}`);
81+
resultsContainerElement.replaceChildren(placeText);
82+
titleElement.innerText = 'Selected Place:';
83+
inputElement.value = '';
7984
refreshToken(request);
8085
}
8186

8287
// Helper function to refresh the session token.
83-
async function refreshToken(request) {
88+
function refreshToken(request) {
8489
// Create a new session token and add it to the request.
85-
token = new google.maps.places.AutocompleteSessionToken();
86-
request.sessionToken = token;
87-
return request;
90+
request.sessionToken = new google.maps.places.AutocompleteSessionToken();
8891
}
8992

9093
declare global {
@@ -94,4 +97,4 @@ declare global {
9497
}
9598
window.init = init;
9699
// [END maps_place_autocomplete_data_session]
97-
export { };
100+
export { };

dist/samples/place-autocomplete-data-session/dist/assets/index-BXlaTN0b.js

Lines changed: 0 additions & 5 deletions
This file was deleted.

dist/samples/place-autocomplete-data-session/dist/assets/index-JVaZg7ij.js

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/samples/place-autocomplete-data-session/dist/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<head>
1010
<title>Place Autocomplete Data API Session</title>
1111

12-
<script type="module" crossorigin src="./assets/index-BXlaTN0b.js"></script>
12+
<script type="module" crossorigin src="./assets/index-JVaZg7ij.js"></script>
1313
<link rel="stylesheet" crossorigin href="./assets/index-Qxu13WYE.css">
1414
</head>
1515
<body>

dist/samples/place-autocomplete-data-session/docs/index.js

Lines changed: 35 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -4,42 +4,46 @@
44
* SPDX-License-Identifier: Apache-2.0
55
*/
66
// [START maps_place_autocomplete_data_session]
7-
let title;
8-
let results;
9-
let input;
10-
let token;
7+
let titleElement;
8+
let resultsContainerElement;
9+
let inputElement;
10+
let newestRequestId = 0;
1111
// Add an initial request body.
12-
let request = {
13-
input: "",
12+
const request = {
13+
input: '',
1414
locationRestriction: { west: -122.44, north: 37.8, east: -122.39, south: 37.78 },
1515
origin: { lat: 37.7893, lng: -122.4039 },
16-
includedPrimaryTypes: ["restaurant"],
17-
language: "en-US",
18-
region: "us",
16+
includedPrimaryTypes: ['restaurant'],
17+
language: 'en-US',
18+
region: 'us',
1919
};
20-
async function init() {
21-
token = new google.maps.places.AutocompleteSessionToken();
22-
title = document.getElementById('title');
23-
results = document.getElementById('results');
24-
input = document.querySelector("input");
25-
input.addEventListener("input", makeAcRequest);
26-
request = refreshToken(request);
20+
function init() {
21+
titleElement = document.getElementById('title');
22+
resultsContainerElement = document.getElementById('results');
23+
inputElement = document.querySelector('input');
24+
inputElement.addEventListener('input', makeAutocompleteRequest);
25+
refreshToken(request);
2726
}
28-
async function makeAcRequest(input) {
27+
async function makeAutocompleteRequest(inputEvent) {
2928
// Reset elements and exit if an empty string is received.
30-
if (input.target.value == '') {
31-
title.innerText = '';
32-
results.replaceChildren();
29+
if (inputEvent.target.value == '') {
30+
titleElement.innerText = '';
31+
resultsContainerElement.replaceChildren();
3332
return;
3433
}
3534
// Add the latest char sequence to the request.
36-
request.input = input.target.value;
35+
request.input = inputEvent.target.value;
36+
// To avoid race conditions, store the request ID and compare after the request.
37+
const requestId = ++newestRequestId;
3738
// Fetch autocomplete suggestions and show them in a list.
3839
// @ts-ignore
3940
const { suggestions } = await google.maps.places.AutocompleteSuggestion.fetchAutocompleteSuggestions(request);
40-
title.innerText = 'Query predictions for "' + request.input + '"';
41+
// If the request has been superseded by a newer request, do not render the output.
42+
if (requestId !== newestRequestId)
43+
return;
44+
titleElement.innerText = `Query predictions for "${request.input}"`;
4145
// Clear the list first.
42-
results.replaceChildren();
46+
resultsContainerElement.replaceChildren();
4347
for (const suggestion of suggestions) {
4448
const placePrediction = suggestion.placePrediction;
4549
// Create a link for the place, add an event handler to fetch the place.
@@ -48,29 +52,27 @@ async function makeAcRequest(input) {
4852
onPlaceSelected(placePrediction.toPlace());
4953
});
5054
a.innerText = placePrediction.text.toString();
51-
// Create a new list element.
55+
// Create a new list item element.
5256
const li = document.createElement('li');
5357
li.appendChild(a);
54-
results.appendChild(li);
58+
resultsContainerElement.appendChild(li);
5559
}
5660
}
5761
// Event handler for clicking on a suggested place.
5862
async function onPlaceSelected(place) {
5963
await place.fetchFields({
6064
fields: ['displayName', 'formattedAddress'],
6165
});
62-
let placeText = document.createTextNode(place.displayName + ': ' + place.formattedAddress);
63-
results.replaceChildren(placeText);
64-
title.innerText = 'Selected Place:';
65-
input.value = '';
66+
const placeText = document.createTextNode(`${place.displayName}: ${place.formattedAddress}`);
67+
resultsContainerElement.replaceChildren(placeText);
68+
titleElement.innerText = 'Selected Place:';
69+
inputElement.value = '';
6670
refreshToken(request);
6771
}
6872
// Helper function to refresh the session token.
69-
async function refreshToken(request) {
73+
function refreshToken(request) {
7074
// Create a new session token and add it to the request.
71-
token = new google.maps.places.AutocompleteSessionToken();
72-
request.sessionToken = token;
73-
return request;
75+
request.sessionToken = new google.maps.places.AutocompleteSessionToken();
7476
}
7577
window.init = init;
7678
export {};

dist/samples/place-autocomplete-data-session/docs/index.ts

Lines changed: 38 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -5,50 +5,55 @@
55
*/
66

77
// [START maps_place_autocomplete_data_session]
8-
let title;
9-
let results;
10-
let input;
11-
let token;
8+
let titleElement;
9+
let resultsContainerElement;
10+
let inputElement;
11+
12+
let newestRequestId = 0;
1213

1314
// Add an initial request body.
14-
let request = {
15-
input: "",
15+
const request = {
16+
input: '',
1617
locationRestriction: { west: -122.44, north: 37.8, east: -122.39, south: 37.78 },
1718
origin: { lat: 37.7893, lng: -122.4039 },
18-
includedPrimaryTypes: ["restaurant"],
19-
language: "en-US",
20-
region: "us",
19+
includedPrimaryTypes: ['restaurant'],
20+
language: 'en-US',
21+
region: 'us',
2122
};
2223

23-
async function init() {
24-
token = new google.maps.places.AutocompleteSessionToken();
25-
26-
title = document.getElementById('title');
27-
results = document.getElementById('results');
28-
input = document.querySelector("input");
29-
input.addEventListener("input", makeAcRequest);
30-
request = refreshToken(request) as any;
24+
function init() {
25+
titleElement = document.getElementById('title');
26+
resultsContainerElement = document.getElementById('results');
27+
inputElement = document.querySelector('input');
28+
inputElement.addEventListener('input', makeAutocompleteRequest);
29+
refreshToken(request);
3130
}
3231

33-
async function makeAcRequest(input) {
32+
async function makeAutocompleteRequest(inputEvent) {
3433
// Reset elements and exit if an empty string is received.
35-
if (input.target.value == '') {
36-
title.innerText = '';
37-
results.replaceChildren();
34+
if (inputEvent.target.value == '') {
35+
titleElement.innerText = '';
36+
resultsContainerElement.replaceChildren();
3837
return;
3938
}
4039

4140
// Add the latest char sequence to the request.
42-
request.input = input.target.value;
41+
request.input = inputEvent.target.value;
42+
43+
// To avoid race conditions, store the request ID and compare after the request.
44+
const requestId = ++newestRequestId;
4345

4446
// Fetch autocomplete suggestions and show them in a list.
4547
// @ts-ignore
4648
const { suggestions } = await google.maps.places.AutocompleteSuggestion.fetchAutocompleteSuggestions(request);
4749

48-
title.innerText = 'Query predictions for "' + request.input + '"';
50+
// If the request has been superseded by a newer request, do not render the output.
51+
if (requestId !== newestRequestId) return;
52+
53+
titleElement.innerText = `Query predictions for "${request.input}"`;
4954

5055
// Clear the list first.
51-
results.replaceChildren();
56+
resultsContainerElement.replaceChildren();
5257

5358
for (const suggestion of suggestions) {
5459
const placePrediction = suggestion.placePrediction;
@@ -60,10 +65,10 @@ async function makeAcRequest(input) {
6065
});
6166
a.innerText = placePrediction!.text.toString();
6267

63-
// Create a new list element.
68+
// Create a new list item element.
6469
const li = document.createElement('li');
6570
li.appendChild(a);
66-
results.appendChild(li);
71+
resultsContainerElement.appendChild(li);
6772
}
6873
}
6974

@@ -72,19 +77,17 @@ async function onPlaceSelected(place) {
7277
await place.fetchFields({
7378
fields: ['displayName', 'formattedAddress'],
7479
});
75-
let placeText = document.createTextNode(place.displayName + ': ' + place.formattedAddress);
76-
results.replaceChildren(placeText);
77-
title.innerText = 'Selected Place:';
78-
input.value = '';
80+
const placeText = document.createTextNode(`${place.displayName}: ${place.formattedAddress}`);
81+
resultsContainerElement.replaceChildren(placeText);
82+
titleElement.innerText = 'Selected Place:';
83+
inputElement.value = '';
7984
refreshToken(request);
8085
}
8186

8287
// Helper function to refresh the session token.
83-
async function refreshToken(request) {
88+
function refreshToken(request) {
8489
// Create a new session token and add it to the request.
85-
token = new google.maps.places.AutocompleteSessionToken();
86-
request.sessionToken = token;
87-
return request;
90+
request.sessionToken = new google.maps.places.AutocompleteSessionToken();
8891
}
8992

9093
declare global {
@@ -94,4 +97,4 @@ declare global {
9497
}
9598
window.init = init;
9699
// [END maps_place_autocomplete_data_session]
97-
export { };
100+
export { };

0 commit comments

Comments
 (0)