react-instantsearch 7.5.1 → 7.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
var React__default = 'default' in React ? React['default'] : React;
|
|
9
9
|
|
|
10
|
-
var version = '7.5.
|
|
10
|
+
var version = '7.5.3';
|
|
11
11
|
|
|
12
12
|
// Copyright Joyent, Inc. and other Node contributors.
|
|
13
13
|
//
|
|
@@ -772,9 +772,12 @@
|
|
|
772
772
|
.sort()
|
|
773
773
|
.forEach(function (facetName) {
|
|
774
774
|
var facetValues = facetsRefinements[facetName] || [];
|
|
775
|
-
facetValues
|
|
776
|
-
|
|
777
|
-
|
|
775
|
+
facetValues
|
|
776
|
+
.slice()
|
|
777
|
+
.sort()
|
|
778
|
+
.forEach(function (facetValue) {
|
|
779
|
+
facetFilters.push(facetName + ':' + facetValue);
|
|
780
|
+
});
|
|
778
781
|
});
|
|
779
782
|
|
|
780
783
|
var facetsExcludes = state.facetsExcludes || {};
|
|
@@ -797,9 +800,12 @@
|
|
|
797
800
|
}
|
|
798
801
|
var orFilters = [];
|
|
799
802
|
|
|
800
|
-
facetValues
|
|
801
|
-
|
|
802
|
-
|
|
803
|
+
facetValues
|
|
804
|
+
.slice()
|
|
805
|
+
.sort()
|
|
806
|
+
.forEach(function (facetValue) {
|
|
807
|
+
orFilters.push(facetName + ':' + facetValue);
|
|
808
|
+
});
|
|
803
809
|
|
|
804
810
|
facetFilters.push(orFilters);
|
|
805
811
|
});
|
|
@@ -1465,7 +1471,7 @@
|
|
|
1465
1471
|
numbers.numericRefinements = numericRefinements;
|
|
1466
1472
|
}
|
|
1467
1473
|
|
|
1468
|
-
return merge_1(
|
|
1474
|
+
return merge_1(partialState, numbers);
|
|
1469
1475
|
};
|
|
1470
1476
|
|
|
1471
1477
|
/**
|
|
@@ -4337,7 +4343,7 @@
|
|
|
4337
4343
|
|
|
4338
4344
|
var SearchResults_1 = SearchResults;
|
|
4339
4345
|
|
|
4340
|
-
var version$1 = '3.16.
|
|
4346
|
+
var version$1 = '3.16.2';
|
|
4341
4347
|
|
|
4342
4348
|
var escapeFacetValue$3 = escapeFacetValue_1.escapeFacetValue;
|
|
4343
4349
|
|
|
@@ -7637,13 +7643,16 @@
|
|
|
7637
7643
|
return;
|
|
7638
7644
|
}
|
|
7639
7645
|
var cachedRequest = Object.keys(results).map(function (key) {
|
|
7640
|
-
|
|
7641
|
-
|
|
7642
|
-
|
|
7643
|
-
|
|
7644
|
-
|
|
7645
|
-
|
|
7646
|
-
|
|
7646
|
+
var _results$key = results[key],
|
|
7647
|
+
state = _results$key.state,
|
|
7648
|
+
requestParams = _results$key.requestParams,
|
|
7649
|
+
serverResults = _results$key.results;
|
|
7650
|
+
return serverResults.map(function (result) {
|
|
7651
|
+
return _objectSpread$5({
|
|
7652
|
+
indexName: state.index || result.index
|
|
7653
|
+
}, requestParams || result.params ? {
|
|
7654
|
+
params: serializeQueryParameters(requestParams || deserializeQueryParameters(result.params))
|
|
7655
|
+
} : {});
|
|
7647
7656
|
});
|
|
7648
7657
|
});
|
|
7649
7658
|
var cachedResults = Object.keys(results).reduce(function (acc, key) {
|
|
@@ -10341,8 +10350,11 @@
|
|
|
10341
10350
|
appId = _getAppIdAndApiKey2[0],
|
|
10342
10351
|
apiKey = _getAppIdAndApiKey2[1];
|
|
10343
10352
|
var queuedUserToken = undefined;
|
|
10353
|
+
var queuedAuthenticatedUserToken = undefined;
|
|
10344
10354
|
var userTokenBeforeInit = undefined;
|
|
10345
|
-
|
|
10355
|
+
var authenticatedUserTokenBeforeInit = undefined;
|
|
10356
|
+
var queue = insightsClient.queue;
|
|
10357
|
+
if (Array.isArray(queue)) {
|
|
10346
10358
|
// Context: The umd build of search-insights is asynchronously loaded by the snippet.
|
|
10347
10359
|
//
|
|
10348
10360
|
// When user calls `aa('setUserToken', 'my-user-token')` before `search-insights` is loaded,
|
|
@@ -10353,22 +10365,32 @@
|
|
|
10353
10365
|
// At this point, even though `search-insights` is not loaded yet,
|
|
10354
10366
|
// we still want to read the token from the queue.
|
|
10355
10367
|
// Otherwise, the first search call will be fired without the token.
|
|
10356
|
-
var
|
|
10357
|
-
var
|
|
10358
|
-
|
|
10359
|
-
|
|
10360
|
-
|
|
10361
|
-
|
|
10362
|
-
|
|
10368
|
+
var _map = ['setUserToken', 'setAuthenticatedUserToken'].map(function (key) {
|
|
10369
|
+
var _ref3 = find$1(queue.slice().reverse(), function (_ref5) {
|
|
10370
|
+
var _ref6 = _slicedToArray$7(_ref5, 1),
|
|
10371
|
+
method = _ref6[0];
|
|
10372
|
+
return method === key;
|
|
10373
|
+
}) || [],
|
|
10374
|
+
_ref4 = _slicedToArray$7(_ref3, 2),
|
|
10375
|
+
value = _ref4[1];
|
|
10376
|
+
return value;
|
|
10377
|
+
});
|
|
10378
|
+
var _map2 = _slicedToArray$7(_map, 2);
|
|
10379
|
+
queuedUserToken = _map2[0];
|
|
10380
|
+
queuedAuthenticatedUserToken = _map2[1];
|
|
10363
10381
|
}
|
|
10382
|
+
|
|
10383
|
+
// If user called `aa('setUserToken')` or `aa('setAuthenticatedUserToken')`
|
|
10384
|
+
// before creating the Insights middleware, we temporarily store the token
|
|
10385
|
+
// and set it later on.
|
|
10386
|
+
//
|
|
10387
|
+
// Otherwise, the `init` call might override them with anonymous user token.
|
|
10364
10388
|
insightsClient('getUserToken', null, function (_error, userToken) {
|
|
10365
|
-
// If user has called `aa('setUserToken', 'my-user-token')` before creating
|
|
10366
|
-
// the `insights` middleware, we store them temporarily and
|
|
10367
|
-
// set it later on.
|
|
10368
|
-
//
|
|
10369
|
-
// Otherwise, the `init` call might override it with anonymous user token.
|
|
10370
10389
|
userTokenBeforeInit = normalizeUserToken(userToken);
|
|
10371
10390
|
});
|
|
10391
|
+
insightsClient('getAuthenticatedUserToken', null, function (_error, userToken) {
|
|
10392
|
+
authenticatedUserTokenBeforeInit = normalizeUserToken(userToken);
|
|
10393
|
+
});
|
|
10372
10394
|
|
|
10373
10395
|
// Only `init` if the `insightsInitParams` option is passed or
|
|
10374
10396
|
// if the `insightsClient` version doesn't supports optional `init` calling.
|
|
@@ -10450,21 +10472,43 @@
|
|
|
10450
10472
|
// We can set it as userToken.
|
|
10451
10473
|
setUserTokenToSearch(anonymousUserToken, true);
|
|
10452
10474
|
}
|
|
10475
|
+
function setUserToken(token, userToken, authenticatedUserToken) {
|
|
10476
|
+
setUserTokenToSearch(token, true);
|
|
10477
|
+
if (userToken) {
|
|
10478
|
+
insightsClient('setUserToken', userToken);
|
|
10479
|
+
}
|
|
10480
|
+
if (authenticatedUserToken) {
|
|
10481
|
+
insightsClient('setAuthenticatedUserToken', authenticatedUserToken);
|
|
10482
|
+
}
|
|
10483
|
+
}
|
|
10453
10484
|
|
|
10454
|
-
// We consider the `userToken`
|
|
10455
|
-
// importance than
|
|
10456
|
-
|
|
10457
|
-
|
|
10458
|
-
|
|
10459
|
-
|
|
10460
|
-
|
|
10461
|
-
|
|
10485
|
+
// We consider the `userToken` or `authenticatedUserToken` before an
|
|
10486
|
+
// `init` call of higher importance than one from the queue.
|
|
10487
|
+
var tokenBeforeInit = authenticatedUserTokenBeforeInit || userTokenBeforeInit;
|
|
10488
|
+
var queuedToken = queuedAuthenticatedUserToken || queuedUserToken;
|
|
10489
|
+
if (tokenBeforeInit) {
|
|
10490
|
+
setUserToken(tokenBeforeInit, userTokenBeforeInit, authenticatedUserTokenBeforeInit);
|
|
10491
|
+
} else if (queuedToken) {
|
|
10492
|
+
setUserToken(queuedToken, queuedUserToken, queuedAuthenticatedUserToken);
|
|
10462
10493
|
}
|
|
10463
10494
|
|
|
10464
10495
|
// This updates userToken which is set explicitly by `aa('setUserToken', userToken)`
|
|
10465
10496
|
insightsClient('onUserTokenChange', setUserTokenToSearch, {
|
|
10466
10497
|
immediate: true
|
|
10467
10498
|
});
|
|
10499
|
+
|
|
10500
|
+
// This updates userToken which is set explicitly by `aa('setAuthenticatedtUserToken', authenticatedUserToken)`
|
|
10501
|
+
insightsClient('onAuthenticatedUserTokenChange', function (authenticatedUserToken) {
|
|
10502
|
+
// If we're unsetting the `authenticatedUserToken`, we revert to the `userToken`
|
|
10503
|
+
if (!authenticatedUserToken) {
|
|
10504
|
+
insightsClient('getUserToken', null, function (_, userToken) {
|
|
10505
|
+
setUserTokenToSearch(userToken);
|
|
10506
|
+
});
|
|
10507
|
+
}
|
|
10508
|
+
setUserTokenToSearch(authenticatedUserToken);
|
|
10509
|
+
}, {
|
|
10510
|
+
immediate: true
|
|
10511
|
+
});
|
|
10468
10512
|
var insightsClientWithLocalCredentials = insightsClient;
|
|
10469
10513
|
if (isModernInsightsClient(insightsClient)) {
|
|
10470
10514
|
insightsClientWithLocalCredentials = function insightsClientWithLocalCredentials(method, payload) {
|
|
@@ -10497,6 +10541,7 @@
|
|
|
10497
10541
|
},
|
|
10498
10542
|
unsubscribe: function unsubscribe() {
|
|
10499
10543
|
insightsClient('onUserTokenChange', undefined);
|
|
10544
|
+
insightsClient('onAuthenticatedUserTokenChange', undefined);
|
|
10500
10545
|
instantSearchInstance.sendEventToInsights = noop$1;
|
|
10501
10546
|
if (helper && initialParameters) {
|
|
10502
10547
|
helper.overrideStateWithoutTriggeringChangeEvent(_objectSpread$e(_objectSpread$e({}, helper.state), initialParameters));
|
|
@@ -12159,7 +12204,7 @@
|
|
|
12159
12204
|
};
|
|
12160
12205
|
}
|
|
12161
12206
|
|
|
12162
|
-
var version$3 = '4.
|
|
12207
|
+
var version$3 = '4.64.1';
|
|
12163
12208
|
|
|
12164
12209
|
function _typeof$o(obj) {
|
|
12165
12210
|
"@babel/helpers - typeof";
|
|
@@ -12627,9 +12672,7 @@
|
|
|
12627
12672
|
|
|
12628
12673
|
/**
|
|
12629
12674
|
* Ends the initialization of InstantSearch.js and triggers the
|
|
12630
|
-
* first search.
|
|
12631
|
-
* to the instance of InstantSearch.js. InstantSearch.js also supports adding and removing
|
|
12632
|
-
* widgets after the start as an **EXPERIMENTAL** feature.
|
|
12675
|
+
* first search.
|
|
12633
12676
|
*/
|
|
12634
12677
|
}, {
|
|
12635
12678
|
key: "start",
|
|
@@ -12780,9 +12823,7 @@
|
|
|
12780
12823
|
}
|
|
12781
12824
|
|
|
12782
12825
|
/**
|
|
12783
|
-
* Removes all widgets without triggering a search afterwards.
|
|
12784
|
-
* if you find an issue with it, please
|
|
12785
|
-
* [open an issue](https://github.com/algolia/instantsearch/issues/new?title=Problem%20with%20dispose).
|
|
12826
|
+
* Removes all widgets without triggering a search afterwards.
|
|
12786
12827
|
* @return {undefined} This method does not return anything
|
|
12787
12828
|
*/
|
|
12788
12829
|
}, {
|
|
@@ -15996,7 +16037,7 @@
|
|
|
15996
16037
|
dispose: function dispose(_ref4) {
|
|
15997
16038
|
var state = _ref4.state;
|
|
15998
16039
|
unmountFn();
|
|
15999
|
-
return state.
|
|
16040
|
+
return state.removeNumericRefinement(attribute);
|
|
16000
16041
|
},
|
|
16001
16042
|
getWidgetUiState: function getWidgetUiState(uiState, _ref5) {
|
|
16002
16043
|
var searchParameters = _ref5.searchParameters;
|
|
@@ -16016,11 +16057,11 @@
|
|
|
16016
16057
|
getWidgetSearchParameters: function getWidgetSearchParameters(searchParameters, _ref6) {
|
|
16017
16058
|
var uiState = _ref6.uiState;
|
|
16018
16059
|
var value = uiState.numericMenu && uiState.numericMenu[attribute];
|
|
16019
|
-
var withoutRefinements = searchParameters.
|
|
16060
|
+
var withoutRefinements = searchParameters.setQueryParameters({
|
|
16061
|
+
numericRefinements: _objectSpread$u(_objectSpread$u({}, searchParameters.numericRefinements), {}, _defineProperty$v({}, attribute, {}))
|
|
16062
|
+
});
|
|
16020
16063
|
if (!value) {
|
|
16021
|
-
return withoutRefinements
|
|
16022
|
-
numericRefinements: _objectSpread$u(_objectSpread$u({}, withoutRefinements.numericRefinements), {}, _defineProperty$v({}, attribute, {}))
|
|
16023
|
-
});
|
|
16064
|
+
return withoutRefinements;
|
|
16024
16065
|
}
|
|
16025
16066
|
var isExact = value.indexOf(':') === -1;
|
|
16026
16067
|
if (isExact) {
|
|
@@ -17458,8 +17499,7 @@
|
|
|
17458
17499
|
return searchParameters;
|
|
17459
17500
|
}
|
|
17460
17501
|
var values = uiState.refinementList && uiState.refinementList[attribute];
|
|
17461
|
-
var
|
|
17462
|
-
var withFacetConfiguration = isDisjunctive ? withoutRefinements.addDisjunctiveFacet(attribute) : withoutRefinements.addFacet(attribute);
|
|
17502
|
+
var withFacetConfiguration = isDisjunctive ? searchParameters.addDisjunctiveFacet(attribute).removeDisjunctiveFacetRefinement(attribute) : searchParameters.addFacet(attribute).removeFacetRefinement(attribute);
|
|
17463
17503
|
var currentMaxValuesPerFacet = withFacetConfiguration.maxValuesPerFacet || 0;
|
|
17464
17504
|
var nextMaxValuesPerFacet = Math.max(currentMaxValuesPerFacet, showMore ? showMoreLimit : limit);
|
|
17465
17505
|
var withMaxValuesPerFacet = withFacetConfiguration.setQueryParameter('maxValuesPerFacet', nextMaxValuesPerFacet);
|
|
@@ -18308,7 +18348,7 @@
|
|
|
18308
18348
|
if (searchParameters.isHierarchicalFacet(attribute) || searchParameters.isConjunctiveFacet(attribute)) {
|
|
18309
18349
|
return searchParameters;
|
|
18310
18350
|
}
|
|
18311
|
-
var withFacetConfiguration = searchParameters.
|
|
18351
|
+
var withFacetConfiguration = searchParameters.addDisjunctiveFacet(attribute).removeDisjunctiveFacetRefinement(attribute);
|
|
18312
18352
|
var isRefined = Boolean(uiState.toggle && uiState.toggle[attribute]);
|
|
18313
18353
|
if (isRefined) {
|
|
18314
18354
|
if (on) {
|
|
@@ -18658,12 +18698,26 @@
|
|
|
18658
18698
|
*/
|
|
18659
18699
|
function waitForResults(search) {
|
|
18660
18700
|
var helper = search.mainHelper;
|
|
18701
|
+
|
|
18702
|
+
// Extract search parameters from the search client to use them
|
|
18703
|
+
// later during hydration.
|
|
18704
|
+
var requestParamsList;
|
|
18705
|
+
var client = helper.getClient();
|
|
18706
|
+
helper.setClient({
|
|
18707
|
+
search: function search(queries) {
|
|
18708
|
+
requestParamsList = queries.map(function (_ref) {
|
|
18709
|
+
var params = _ref.params;
|
|
18710
|
+
return params;
|
|
18711
|
+
});
|
|
18712
|
+
return client.search(queries);
|
|
18713
|
+
}
|
|
18714
|
+
});
|
|
18661
18715
|
helper.searchOnlyWithDerivedHelpers();
|
|
18662
18716
|
return new Promise(function (resolve, reject) {
|
|
18663
18717
|
// All derived helpers resolve in the same tick so we're safe only relying
|
|
18664
18718
|
// on the first one.
|
|
18665
18719
|
helper.derivedHelpers[0].on('result', function () {
|
|
18666
|
-
resolve();
|
|
18720
|
+
resolve(requestParamsList);
|
|
18667
18721
|
});
|
|
18668
18722
|
|
|
18669
18723
|
// However, we listen to errors that can happen on any derived helper because
|
|
@@ -18685,17 +18739,26 @@
|
|
|
18685
18739
|
/**
|
|
18686
18740
|
* Walks the InstantSearch root index to construct the initial results.
|
|
18687
18741
|
*/
|
|
18688
|
-
function getInitialResults(rootIndex
|
|
18742
|
+
function getInitialResults(rootIndex,
|
|
18743
|
+
/**
|
|
18744
|
+
* Search parameters sent to the search client,
|
|
18745
|
+
* returned by `waitForResults()`.
|
|
18746
|
+
*/
|
|
18747
|
+
requestParamsList) {
|
|
18689
18748
|
var initialResults = {};
|
|
18749
|
+
var requestParamsIndex = 0;
|
|
18690
18750
|
walkIndex(rootIndex, function (widget) {
|
|
18691
18751
|
var searchResults = widget.getResults();
|
|
18692
18752
|
if (searchResults) {
|
|
18693
|
-
|
|
18753
|
+
var requestParams = requestParamsList === null || requestParamsList === void 0 ? void 0 : requestParamsList[requestParamsIndex++];
|
|
18754
|
+
initialResults[widget.getIndexId()] = _objectSpread$D({
|
|
18694
18755
|
// We convert the Helper state to a plain object to pass parsable data
|
|
18695
18756
|
// structures from server to client.
|
|
18696
18757
|
state: _objectSpread$D({}, searchResults._state),
|
|
18697
18758
|
results: searchResults._rawResults
|
|
18698
|
-
}
|
|
18759
|
+
}, requestParams && {
|
|
18760
|
+
requestParams: requestParams
|
|
18761
|
+
});
|
|
18699
18762
|
}
|
|
18700
18763
|
});
|
|
18701
18764
|
if (Object.keys(initialResults).length === 0) {
|
|
@@ -18780,9 +18843,9 @@
|
|
|
18780
18843
|
throw new Error("Unable to retrieve InstantSearch's server state in `getServerState()`. Did you mount the <InstantSearch> component?");
|
|
18781
18844
|
}
|
|
18782
18845
|
return waitForResults(searchRef.current);
|
|
18783
|
-
}).then(function () {
|
|
18846
|
+
}).then(function (requestParamsList) {
|
|
18784
18847
|
return {
|
|
18785
|
-
initialResults: getInitialResults(searchRef.current.mainIndex)
|
|
18848
|
+
initialResults: getInitialResults(searchRef.current.mainIndex, requestParamsList)
|
|
18786
18849
|
};
|
|
18787
18850
|
});
|
|
18788
18851
|
}
|