From 9c0056ce0f07020476acb204e34f5386ad6680e6 Mon Sep 17 00:00:00 2001 From: Jonathan Montane Date: Thu, 2 Aug 2018 13:18:57 +0200 Subject: [PATCH] fix(default-location): don't default to [0,0] for defaultPosition (#550) * fix(default-location): don't provide any default values for defaultPosition Completely removes the default value for defaultPosition, which means that geosearch ranking is not applied with a possibly irrelevant [0,0] coordinate when the state is empty. Only tries to do .join on well-formed arrays. --- src/instantsearch/widget.js | 7 +++++-- src/instantsearch/widget.test.js | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/instantsearch/widget.js b/src/instantsearch/widget.js index d6f5a7487..47c0443cc 100644 --- a/src/instantsearch/widget.js +++ b/src/instantsearch/widget.js @@ -4,8 +4,11 @@ import places from '../places.js'; * The underlying structure for the Algolia Places instantsearch widget. */ class AlgoliaPlacesWidget { - constructor({ defaultPosition = [0, 0], ...placesOptions }) { - this.defaultPosition = defaultPosition.join(','); + constructor({ defaultPosition, ...placesOptions }) { + if (defaultPosition instanceof Array && defaultPosition.length === 2) { + this.defaultPosition = defaultPosition.join(','); + } + this.placesOptions = placesOptions; } init({ helper }) { diff --git a/src/instantsearch/widget.test.js b/src/instantsearch/widget.test.js index 71f55b1e1..1aaa75349 100644 --- a/src/instantsearch/widget.test.js +++ b/src/instantsearch/widget.test.js @@ -49,7 +49,7 @@ describe('instantsearch widget', () => { expect(helper.getState()).toMatchObject({ insideBoundingBox: undefined, - aroundLatLng: '0,0', + aroundLatLng: undefined, }); });