Select first result from geolocation dropdown with enter #42

Merged
bilal.catic merged 2 commits from select-first-result-from-geolocation-dropdown-with-enter into master 2019-10-14 09:26:49 +02:00
2 changed files with 41 additions and 11 deletions

View File

@@ -1,12 +1,10 @@
const PRICE_SLIDER_OPTIONS = {
start: [50000, 85000],
range: {
min: [0, 1000],
"10%": [20000, 1000],
"35%": [100000, 1000],
"70%": [200000, 10000],
max: [1000000]
min: [0],
max: [300000]
},
step: 1000,
connect: true,
tooltips: true
};
@@ -15,10 +13,10 @@ const PRICE_SLIDER_OPTIONS = {
const HOME_SIZE_SLIDER_OPTIONS = {
start: [30, 75],
range: {
min: [0, 5],
"50%": [100, 10],
min: [0],
max: [400]
},
step: 5,
connect: true,
tooltips: true
};
@@ -26,11 +24,10 @@ const HOME_SIZE_SLIDER_OPTIONS = {
const GARDEN_SIZE_SLIDER_OPTIONS = {
start: [100, 1000],
range: {
min: [0, 10],
"40%": [1000, 100],
"80%": [10000, 100],
max: [100000]
min: [0],
max: [10000]
},
step: 100,
connect: true,
tooltips: true
};

View File

@@ -99,6 +99,7 @@
autocomplete = new google.maps.places.Autocomplete(inputElement, initialAutocompleteParams);
autocomplete.bindTo('bounds', map);
autocomplete.addListener('place_changed', onPlaceChanged);
pacSelectFirst(inputElement);
}
function onPlaceChanged() {
@@ -110,6 +111,38 @@
}
}
function pacSelectFirst(input) {
// store the original event binding function
const _addEventListener = input.addEventListener
? input.addEventListener
: input.attachEvent
function addEventListenerWrapper (type, listener) {
// Simulate a 'down arrow' keypress on hitting 'return' when no pac suggestion is selected,
// and then trigger the original listener.
if (type == 'keydown') {
const originalListener = listener
listener = function (event) {
const suggestionSelected = $('.pac-item-selected').length > 0
if (event.key == 'Enter' && !suggestionSelected) {
const simulatedDownArrow = $.Event('keydown', {
keyCode: 40,
which: 40
})
originalListener.apply(input, [simulatedDownArrow])
}
originalListener.apply(input, [event])
}
}
_addEventListener.apply(input, [type, listener])
}
input.addEventListener = addEventListenerWrapper
input.attachEvent = addEventListenerWrapper
}
$(document).ready(() => {
$("#submit").click(() => {
const mapBounds = map.getBounds();