@constructor-io/constructorio-client-javascript 2.56.0 → 2.58.0
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.
- package/lib/modules/autocomplete.js +8 -1
- package/lib/modules/tracker.js +106 -12
- package/lib/types/autocomplete.d.ts +1 -0
- package/lib/version.js +1 -1
- package/package.json +1 -1
|
@@ -59,7 +59,8 @@ function createAutocompleteUrl(query, parameters, options) {
|
|
|
59
59
|
hiddenFields = parameters.hiddenFields,
|
|
60
60
|
variationsMap = parameters.variationsMap,
|
|
61
61
|
preFilterExpression = parameters.preFilterExpression,
|
|
62
|
-
qsParam = parameters.qsParam
|
|
62
|
+
qsParam = parameters.qsParam,
|
|
63
|
+
fmtOptions = parameters.fmtOptions;
|
|
63
64
|
|
|
64
65
|
// Pull results number from parameters
|
|
65
66
|
if (numResults) {
|
|
@@ -90,6 +91,11 @@ function createAutocompleteUrl(query, parameters, options) {
|
|
|
90
91
|
queryParams.pre_filter_expression = JSON.stringify(preFilterExpression);
|
|
91
92
|
}
|
|
92
93
|
|
|
94
|
+
// Pull format options from parameters
|
|
95
|
+
if (fmtOptions) {
|
|
96
|
+
queryParams.fmt_options = fmtOptions;
|
|
97
|
+
}
|
|
98
|
+
|
|
93
99
|
// Pull hidden fields from parameters
|
|
94
100
|
if (hiddenFields) {
|
|
95
101
|
if (queryParams.fmt_options) {
|
|
@@ -144,6 +150,7 @@ var Autocomplete = /*#__PURE__*/function () {
|
|
|
144
150
|
* @param {object} [parameters.filters] - Key / value mapping (dictionary) of filters used to refine results
|
|
145
151
|
* @param {object} [parameters.filtersPerSection] - Filters used to refine results per section
|
|
146
152
|
* @param {object} [parameters.resultsPerSection] - Number of results to return (value) per section (key)
|
|
153
|
+
* @param {object} [parameters.fmtOptions] - An object containing options to format different aspects of the response. Please refer to https://docs.constructor.com/reference/v1-autocomplete-get-autocomplete-results for details
|
|
147
154
|
* @param {object} [parameters.preFilterExpression] - Faceting expression to scope autocomplete results. Please refer to https://docs.constructor.com/reference/configuration-collections for details
|
|
148
155
|
* @param {string[]} [parameters.hiddenFields] - Hidden metadata fields to return
|
|
149
156
|
* @param {object} [parameters.variationsMap] - The variations map object to aggregate variations. Please refer to https://docs.constructor.com/reference/shared-variations-mapping for details
|
package/lib/modules/tracker.js
CHANGED
|
@@ -1580,6 +1580,100 @@ var Tracker = /*#__PURE__*/function () {
|
|
|
1580
1580
|
return new Error('parameters are required of type object');
|
|
1581
1581
|
}
|
|
1582
1582
|
|
|
1583
|
+
/**
|
|
1584
|
+
* Send browse redirect event to API
|
|
1585
|
+
* @private
|
|
1586
|
+
* @function trackBrowseRedirect
|
|
1587
|
+
* @param {object} parameters - Additional parameters to be sent with request
|
|
1588
|
+
* @param {string} parameters.searchTerm - The search query that caused redirect
|
|
1589
|
+
* @param {string} parameters.filterName - Filter name
|
|
1590
|
+
* @param {string} parameters.filterValue - Filter value
|
|
1591
|
+
* @param {string} [parameters.userInput] - The text that a user had typed at the moment when submitting search request
|
|
1592
|
+
* @param {string} [parameters.redirectToUrl] - URL of the page to which user is redirected
|
|
1593
|
+
* @param {string} [parameters.section="Products"] - Index section
|
|
1594
|
+
* @param {object} [parameters.selectedFilters] - Selected filters
|
|
1595
|
+
* @param {string} [parameters.sortOrder] - Sort order ('ascending' or 'descending')
|
|
1596
|
+
* @param {string} [parameters.sortBy] - Sorting method
|
|
1597
|
+
* @param {object} [parameters.analyticsTags] - Pass additional analytics data
|
|
1598
|
+
* @param {object} [networkParameters] - Parameters relevant to the network request
|
|
1599
|
+
* @param {number} [networkParameters.timeout] - Request timeout (in milliseconds)
|
|
1600
|
+
* @returns {(true|Error)}
|
|
1601
|
+
* @description User got redirected to a browse product listing page
|
|
1602
|
+
* @example
|
|
1603
|
+
* constructorio.tracker.trackBrowseRedirect(
|
|
1604
|
+
* {
|
|
1605
|
+
* searchTerm: "books",
|
|
1606
|
+
* filterName: 'brand',
|
|
1607
|
+
* filterValue: 'XYZ',
|
|
1608
|
+
* redirectToUrl: 'https://demo.constructor.io/books',
|
|
1609
|
+
* selectedFilters: { brand: ['foo'], color: ['black'] },
|
|
1610
|
+
* sortOrder: 'ascending',
|
|
1611
|
+
* sortBy: 'price',
|
|
1612
|
+
* },
|
|
1613
|
+
* );
|
|
1614
|
+
*/
|
|
1615
|
+
}, {
|
|
1616
|
+
key: "trackBrowseRedirect",
|
|
1617
|
+
value: function trackBrowseRedirect(parameters) {
|
|
1618
|
+
var networkParameters = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
1619
|
+
// Ensure parameters are provided (required)
|
|
1620
|
+
if (parameters && (0, _typeof2["default"])(parameters) === 'object' && !Array.isArray(parameters)) {
|
|
1621
|
+
var requestPath = "".concat(this.options.serviceUrl, "/v2/behavioral_action/browse_redirect?");
|
|
1622
|
+
var bodyParams = {};
|
|
1623
|
+
var searchTerm = parameters.searchTerm,
|
|
1624
|
+
userInput = parameters.userInput,
|
|
1625
|
+
_parameters$section6 = parameters.section,
|
|
1626
|
+
section = _parameters$section6 === void 0 ? 'Products' : _parameters$section6,
|
|
1627
|
+
selectedFilters = parameters.selectedFilters,
|
|
1628
|
+
redirectToUrl = parameters.redirectToUrl,
|
|
1629
|
+
sortOrder = parameters.sortOrder,
|
|
1630
|
+
sortBy = parameters.sortBy,
|
|
1631
|
+
filterName = parameters.filterName,
|
|
1632
|
+
filterValue = parameters.filterValue,
|
|
1633
|
+
analyticsTags = parameters.analyticsTags;
|
|
1634
|
+
if (searchTerm) {
|
|
1635
|
+
bodyParams.search_term = searchTerm;
|
|
1636
|
+
}
|
|
1637
|
+
if (userInput) {
|
|
1638
|
+
bodyParams.user_input = userInput;
|
|
1639
|
+
}
|
|
1640
|
+
if (redirectToUrl) {
|
|
1641
|
+
bodyParams.redirect_to_url = redirectToUrl;
|
|
1642
|
+
}
|
|
1643
|
+
if (section) {
|
|
1644
|
+
bodyParams.section = section;
|
|
1645
|
+
}
|
|
1646
|
+
if (selectedFilters) {
|
|
1647
|
+
bodyParams.selected_filters = selectedFilters;
|
|
1648
|
+
}
|
|
1649
|
+
if (sortOrder) {
|
|
1650
|
+
bodyParams.sort_order = sortOrder;
|
|
1651
|
+
}
|
|
1652
|
+
if (sortBy) {
|
|
1653
|
+
bodyParams.sort_by = sortBy;
|
|
1654
|
+
}
|
|
1655
|
+
if (filterName) {
|
|
1656
|
+
bodyParams.filter_name = filterName;
|
|
1657
|
+
}
|
|
1658
|
+
if (filterValue) {
|
|
1659
|
+
bodyParams.filter_value = filterValue;
|
|
1660
|
+
}
|
|
1661
|
+
if (analyticsTags) {
|
|
1662
|
+
bodyParams.analytics_tags = analyticsTags;
|
|
1663
|
+
}
|
|
1664
|
+
var requestURL = "".concat(requestPath).concat(applyParamsAsString({}, this.options));
|
|
1665
|
+
var requestMethod = 'POST';
|
|
1666
|
+
var requestBody = applyParams(bodyParams, _objectSpread(_objectSpread({}, this.options), {}, {
|
|
1667
|
+
requestMethod: requestMethod
|
|
1668
|
+
}));
|
|
1669
|
+
this.requests.queue(requestURL, requestMethod, requestBody, networkParameters);
|
|
1670
|
+
this.requests.send();
|
|
1671
|
+
return true;
|
|
1672
|
+
}
|
|
1673
|
+
this.requests.send();
|
|
1674
|
+
return new Error('parameters are required of type object');
|
|
1675
|
+
}
|
|
1676
|
+
|
|
1583
1677
|
/**
|
|
1584
1678
|
* Send generic result click event to API
|
|
1585
1679
|
*
|
|
@@ -1620,8 +1714,8 @@ var Tracker = /*#__PURE__*/function () {
|
|
|
1620
1714
|
variation_id = parameters.variation_id,
|
|
1621
1715
|
_parameters$variation8 = parameters.variationId,
|
|
1622
1716
|
variationId = _parameters$variation8 === void 0 ? variation_id : _parameters$variation8,
|
|
1623
|
-
_parameters$
|
|
1624
|
-
section = _parameters$
|
|
1717
|
+
_parameters$section7 = parameters.section,
|
|
1718
|
+
section = _parameters$section7 === void 0 ? 'Products' : _parameters$section7,
|
|
1625
1719
|
analyticsTags = parameters.analyticsTags;
|
|
1626
1720
|
if (itemId) {
|
|
1627
1721
|
bodyParams.section = section;
|
|
@@ -1697,8 +1791,8 @@ var Tracker = /*#__PURE__*/function () {
|
|
|
1697
1791
|
_parameters$quizSessi = parameters.quizSessionId,
|
|
1698
1792
|
quizSessionId = _parameters$quizSessi === void 0 ? quiz_session_id : _parameters$quizSessi,
|
|
1699
1793
|
url = parameters.url,
|
|
1700
|
-
_parameters$
|
|
1701
|
-
section = _parameters$
|
|
1794
|
+
_parameters$section8 = parameters.section,
|
|
1795
|
+
section = _parameters$section8 === void 0 ? 'Products' : _parameters$section8,
|
|
1702
1796
|
result_count = parameters.result_count,
|
|
1703
1797
|
_parameters$resultCou7 = parameters.resultCount,
|
|
1704
1798
|
resultCount = _parameters$resultCou7 === void 0 ? result_count : _parameters$resultCou7,
|
|
@@ -1841,8 +1935,8 @@ var Tracker = /*#__PURE__*/function () {
|
|
|
1841
1935
|
result_position_on_page = parameters.result_position_on_page,
|
|
1842
1936
|
_parameters$resultPos4 = parameters.resultPositionOnPage,
|
|
1843
1937
|
resultPositionOnPage = _parameters$resultPos4 === void 0 ? result_position_on_page : _parameters$resultPos4,
|
|
1844
|
-
_parameters$
|
|
1845
|
-
section = _parameters$
|
|
1938
|
+
_parameters$section9 = parameters.section,
|
|
1939
|
+
section = _parameters$section9 === void 0 ? 'Products' : _parameters$section9,
|
|
1846
1940
|
variationId = parameters.variationId;
|
|
1847
1941
|
var queryParams = {};
|
|
1848
1942
|
var bodyParams = {};
|
|
@@ -1988,8 +2082,8 @@ var Tracker = /*#__PURE__*/function () {
|
|
|
1988
2082
|
_parameters$variation9 = parameters.variationId,
|
|
1989
2083
|
variationId = _parameters$variation9 === void 0 ? variation_id : _parameters$variation9,
|
|
1990
2084
|
revenue = parameters.revenue,
|
|
1991
|
-
_parameters$
|
|
1992
|
-
section = _parameters$
|
|
2085
|
+
_parameters$section10 = parameters.section,
|
|
2086
|
+
section = _parameters$section10 === void 0 ? 'Products' : _parameters$section10,
|
|
1993
2087
|
type = parameters.type,
|
|
1994
2088
|
is_custom_type = parameters.is_custom_type,
|
|
1995
2089
|
_parameters$isCustomT2 = parameters.isCustomType,
|
|
@@ -2256,8 +2350,8 @@ var Tracker = /*#__PURE__*/function () {
|
|
|
2256
2350
|
// Ensure parameters are provided (required)
|
|
2257
2351
|
if (parameters && (0, _typeof2["default"])(parameters) === 'object' && !Array.isArray(parameters)) {
|
|
2258
2352
|
var requestPath = "".concat(this.options.serviceUrl, "/v2/behavioral_action/assistant_search_result_click?");
|
|
2259
|
-
var _parameters$
|
|
2260
|
-
section = _parameters$
|
|
2353
|
+
var _parameters$section11 = parameters.section,
|
|
2354
|
+
section = _parameters$section11 === void 0 ? 'Products' : _parameters$section11,
|
|
2261
2355
|
variationId = parameters.variationId,
|
|
2262
2356
|
intentResultId = parameters.intentResultId,
|
|
2263
2357
|
searchResultId = parameters.searchResultId,
|
|
@@ -2319,8 +2413,8 @@ var Tracker = /*#__PURE__*/function () {
|
|
|
2319
2413
|
// Ensure parameters are provided (required)
|
|
2320
2414
|
if (parameters && (0, _typeof2["default"])(parameters) === 'object' && !Array.isArray(parameters)) {
|
|
2321
2415
|
var requestPath = "".concat(this.options.serviceUrl, "/v2/behavioral_action/assistant_search_result_view?");
|
|
2322
|
-
var _parameters$
|
|
2323
|
-
section = _parameters$
|
|
2416
|
+
var _parameters$section12 = parameters.section,
|
|
2417
|
+
section = _parameters$section12 === void 0 ? 'Products' : _parameters$section12,
|
|
2324
2418
|
items = parameters.items,
|
|
2325
2419
|
numResultsViewed = parameters.numResultsViewed,
|
|
2326
2420
|
intentResultId = parameters.intentResultId,
|
package/lib/version.js
CHANGED