@elastic/react-search-ui
Version:
A React library for building search experiences
108 lines (90 loc) • 9.7 kB
JavaScript
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
import _createClass from "@babel/runtime/helpers/createClass";
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
import _inherits from "@babel/runtime/helpers/inherits";
import _defineProperty from "@babel/runtime/helpers/defineProperty";
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { keys.push.apply(keys, Object.getOwnPropertySymbols(object)); } if (enumerableOnly) keys = keys.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
import PropTypes from "prop-types";
import { Component } from "react";
import { Result } from "@elastic/react-search-ui-views";
import { withSearch } from "..";
import { Result as ResultType } from "../types";
export var ResultContainer =
/*#__PURE__*/
function (_Component) {
_inherits(ResultContainer, _Component);
function ResultContainer() {
var _getPrototypeOf2;
var _this;
_classCallCheck(this, ResultContainer);
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(ResultContainer)).call.apply(_getPrototypeOf2, [this].concat(args)));
_defineProperty(_assertThisInitialized(_this), "handleClickLink", function (id) {
var _this$props = _this.props,
clickThroughTags = _this$props.clickThroughTags,
shouldTrackClickThrough = _this$props.shouldTrackClickThrough,
trackClickThrough = _this$props.trackClickThrough;
if (shouldTrackClickThrough) {
trackClickThrough(id, clickThroughTags);
}
});
return _this;
}
_createClass(ResultContainer, [{
key: "render",
value: function render() {
var _this2 = this;
var _this$props2 = this.props,
className = _this$props2.className,
result = _this$props2.result,
titleField = _this$props2.titleField,
urlField = _this$props2.urlField,
view = _this$props2.view,
trackClickThrough = _this$props2.trackClickThrough,
shouldTrackClickThrough = _this$props2.shouldTrackClickThrough,
clickThroughTags = _this$props2.clickThroughTags,
rest = _objectWithoutProperties(_this$props2, ["className", "result", "titleField", "urlField", "view", "trackClickThrough", "shouldTrackClickThrough", "clickThroughTags"]);
var View = view || Result;
return View(_objectSpread({
className: className,
result: result,
key: "result-".concat(result.id.raw),
onClickLink: function onClickLink() {
return _this2.handleClickLink(result.id.raw);
},
titleField: titleField,
urlField: urlField
}, rest));
}
}]);
return ResultContainer;
}(Component);
_defineProperty(ResultContainer, "propTypes", {
// Props
className: PropTypes.string,
clickThroughTags: PropTypes.arrayOf(PropTypes.string),
titleField: PropTypes.string,
urlField: PropTypes.string,
view: PropTypes.func,
result: ResultType.isRequired,
shouldTrackClickThrough: PropTypes.bool,
// Actions
trackClickThrough: PropTypes.func
});
_defineProperty(ResultContainer, "defaultProps", {
clickThroughTags: [],
shouldTrackClickThrough: true
});
export default withSearch(function (_ref) {
var trackClickThrough = _ref.trackClickThrough;
return {
trackClickThrough: trackClickThrough
};
})(ResultContainer);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250YWluZXJzL1Jlc3VsdC5qcyJdLCJuYW1lcyI6WyJQcm9wVHlwZXMiLCJDb21wb25lbnQiLCJSZXN1bHQiLCJ3aXRoU2VhcmNoIiwiUmVzdWx0VHlwZSIsIlJlc3VsdENvbnRhaW5lciIsImlkIiwicHJvcHMiLCJjbGlja1Rocm91Z2hUYWdzIiwic2hvdWxkVHJhY2tDbGlja1Rocm91Z2giLCJ0cmFja0NsaWNrVGhyb3VnaCIsImNsYXNzTmFtZSIsInJlc3VsdCIsInRpdGxlRmllbGQiLCJ1cmxGaWVsZCIsInZpZXciLCJyZXN0IiwiVmlldyIsImtleSIsInJhdyIsIm9uQ2xpY2tMaW5rIiwiaGFuZGxlQ2xpY2tMaW5rIiwic3RyaW5nIiwiYXJyYXlPZiIsImZ1bmMiLCJpc1JlcXVpcmVkIiwiYm9vbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU9BLFNBQVAsTUFBc0IsWUFBdEI7QUFDQSxTQUFTQyxTQUFULFFBQTBCLE9BQTFCO0FBQ0EsU0FBU0MsTUFBVCxRQUF1QixnQ0FBdkI7QUFFQSxTQUFTQyxVQUFULFFBQTJCLElBQTNCO0FBQ0EsU0FBU0QsTUFBTSxJQUFJRSxVQUFuQixRQUFxQyxVQUFyQztBQUVBLFdBQWFDLGVBQWI7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTs7QUFBQTs7QUFBQTs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7O0FBQUEsc0VBbUJvQixVQUFBQyxFQUFFLEVBQUk7QUFBQSx3QkFLbEIsTUFBS0MsS0FMYTtBQUFBLFVBRXBCQyxnQkFGb0IsZUFFcEJBLGdCQUZvQjtBQUFBLFVBR3BCQyx1QkFIb0IsZUFHcEJBLHVCQUhvQjtBQUFBLFVBSXBCQyxpQkFKb0IsZUFJcEJBLGlCQUpvQjs7QUFPdEIsVUFBSUQsdUJBQUosRUFBNkI7QUFDM0JDLFFBQUFBLGlCQUFpQixDQUFDSixFQUFELEVBQUtFLGdCQUFMLENBQWpCO0FBQ0Q7QUFDRixLQTdCSDs7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQSw2QkErQlc7QUFBQTs7QUFBQSx5QkFjSCxLQUFLRCxLQWRGO0FBQUEsVUFFTEksU0FGSyxnQkFFTEEsU0FGSztBQUFBLFVBR0xDLE1BSEssZ0JBR0xBLE1BSEs7QUFBQSxVQUlMQyxVQUpLLGdCQUlMQSxVQUpLO0FBQUEsVUFLTEMsUUFMSyxnQkFLTEEsUUFMSztBQUFBLFVBTUxDLElBTkssZ0JBTUxBLElBTks7QUFBQSxVQVFMTCxpQkFSSyxnQkFRTEEsaUJBUks7QUFBQSxVQVVMRCx1QkFWSyxnQkFVTEEsdUJBVks7QUFBQSxVQVlMRCxnQkFaSyxnQkFZTEEsZ0JBWks7QUFBQSxVQWFGUSxJQWJFOztBQWVQLFVBQU1DLElBQUksR0FBR0YsSUFBSSxJQUFJYixNQUFyQjtBQUVBLGFBQU9lLElBQUk7QUFDVE4sUUFBQUEsU0FBUyxFQUFUQSxTQURTO0FBRVRDLFFBQUFBLE1BQU0sRUFBRUEsTUFGQztBQUdUTSxRQUFBQSxHQUFHLG1CQUFZTixNQUFNLENBQUNOLEVBQVAsQ0FBVWEsR0FBdEIsQ0FITTtBQUlUQyxRQUFBQSxXQUFXLEVBQUU7QUFBQSxpQkFBTSxNQUFJLENBQUNDLGVBQUwsQ0FBcUJULE1BQU0sQ0FBQ04sRUFBUCxDQUFVYSxHQUEvQixDQUFOO0FBQUEsU0FKSjtBQUtUTixRQUFBQSxVQUFVLEVBQVZBLFVBTFM7QUFNVEMsUUFBQUEsUUFBUSxFQUFSQTtBQU5TLFNBT05FLElBUE0sRUFBWDtBQVNEO0FBekRIOztBQUFBO0FBQUEsRUFBcUNmLFNBQXJDOztnQkFBYUksZSxlQUNRO0FBQ2pCO0FBQ0FNLEVBQUFBLFNBQVMsRUFBRVgsU0FBUyxDQUFDc0IsTUFGSjtBQUdqQmQsRUFBQUEsZ0JBQWdCLEVBQUVSLFNBQVMsQ0FBQ3VCLE9BQVYsQ0FBa0J2QixTQUFTLENBQUNzQixNQUE1QixDQUhEO0FBSWpCVCxFQUFBQSxVQUFVLEVBQUViLFNBQVMsQ0FBQ3NCLE1BSkw7QUFLakJSLEVBQUFBLFFBQVEsRUFBRWQsU0FBUyxDQUFDc0IsTUFMSDtBQU1qQlAsRUFBQUEsSUFBSSxFQUFFZixTQUFTLENBQUN3QixJQU5DO0FBT2pCWixFQUFBQSxNQUFNLEVBQUVSLFVBQVUsQ0FBQ3FCLFVBUEY7QUFRakJoQixFQUFBQSx1QkFBdUIsRUFBRVQsU0FBUyxDQUFDMEIsSUFSbEI7QUFTakI7QUFDQWhCLEVBQUFBLGlCQUFpQixFQUFFVixTQUFTLENBQUN3QjtBQVZaLEM7O2dCQURSbkIsZSxrQkFjVztBQUNwQkcsRUFBQUEsZ0JBQWdCLEVBQUUsRUFERTtBQUVwQkMsRUFBQUEsdUJBQXVCLEVBQUU7QUFGTCxDOztBQThDeEIsZUFBZU4sVUFBVSxDQUFDO0FBQUEsTUFBR08saUJBQUgsUUFBR0EsaUJBQUg7QUFBQSxTQUE0QjtBQUFFQSxJQUFBQSxpQkFBaUIsRUFBakJBO0FBQUYsR0FBNUI7QUFBQSxDQUFELENBQVYsQ0FDYkwsZUFEYSxDQUFmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBSZXN1bHQgfSBmcm9tIFwiQGVsYXN0aWMvcmVhY3Qtc2VhcmNoLXVpLXZpZXdzXCI7XG5cbmltcG9ydCB7IHdpdGhTZWFyY2ggfSBmcm9tIFwiLi5cIjtcbmltcG9ydCB7IFJlc3VsdCBhcyBSZXN1bHRUeXBlIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5cbmV4cG9ydCBjbGFzcyBSZXN1bHRDb250YWluZXIgZXh0ZW5kcyBDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIC8vIFByb3BzXG4gICAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNsaWNrVGhyb3VnaFRhZ3M6IFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgIHRpdGxlRmllbGQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgdXJsRmllbGQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgdmlldzogUHJvcFR5cGVzLmZ1bmMsXG4gICAgcmVzdWx0OiBSZXN1bHRUeXBlLmlzUmVxdWlyZWQsXG4gICAgc2hvdWxkVHJhY2tDbGlja1Rocm91Z2g6IFByb3BUeXBlcy5ib29sLFxuICAgIC8vIEFjdGlvbnNcbiAgICB0cmFja0NsaWNrVGhyb3VnaDogUHJvcFR5cGVzLmZ1bmNcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGNsaWNrVGhyb3VnaFRhZ3M6IFtdLFxuICAgIHNob3VsZFRyYWNrQ2xpY2tUaHJvdWdoOiB0cnVlXG4gIH07XG5cbiAgaGFuZGxlQ2xpY2tMaW5rID0gaWQgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGNsaWNrVGhyb3VnaFRhZ3MsXG4gICAgICBzaG91bGRUcmFja0NsaWNrVGhyb3VnaCxcbiAgICAgIHRyYWNrQ2xpY2tUaHJvdWdoXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoc2hvdWxkVHJhY2tDbGlja1Rocm91Z2gpIHtcbiAgICAgIHRyYWNrQ2xpY2tUaHJvdWdoKGlkLCBjbGlja1Rocm91Z2hUYWdzKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIGNsYXNzTmFtZSxcbiAgICAgIHJlc3VsdCxcbiAgICAgIHRpdGxlRmllbGQsXG4gICAgICB1cmxGaWVsZCxcbiAgICAgIHZpZXcsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICAgIHRyYWNrQ2xpY2tUaHJvdWdoLFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXG4gICAgICBzaG91bGRUcmFja0NsaWNrVGhyb3VnaCxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xuICAgICAgY2xpY2tUaHJvdWdoVGFncyxcbiAgICAgIC4uLnJlc3RcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBWaWV3ID0gdmlldyB8fCBSZXN1bHQ7XG5cbiAgICByZXR1cm4gVmlldyh7XG4gICAgICBjbGFzc05hbWUsXG4gICAgICByZXN1bHQ6IHJlc3VsdCxcbiAgICAgIGtleTogYHJlc3VsdC0ke3Jlc3VsdC5pZC5yYXd9YCxcbiAgICAgIG9uQ2xpY2tMaW5rOiAoKSA9PiB0aGlzLmhhbmRsZUNsaWNrTGluayhyZXN1bHQuaWQucmF3KSxcbiAgICAgIHRpdGxlRmllbGQsXG4gICAgICB1cmxGaWVsZCxcbiAgICAgIC4uLnJlc3RcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCB3aXRoU2VhcmNoKCh7IHRyYWNrQ2xpY2tUaHJvdWdoIH0pID0+ICh7IHRyYWNrQ2xpY2tUaHJvdWdoIH0pKShcbiAgUmVzdWx0Q29udGFpbmVyXG4pO1xuIl19