@elastic/react-search-ui
Version:
A React library for building search experiences
127 lines (98 loc) • 10.1 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.ResultContainer = void 0;
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf3 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _react = require("react");
var _reactSearchUiViews = require("@elastic/react-search-ui-views");
var _ = require("..");
var _types = require("../types");
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) { (0, _defineProperty2.default)(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; }
var ResultContainer =
/*#__PURE__*/
function (_Component) {
(0, _inherits2.default)(ResultContainer, _Component);
function ResultContainer() {
var _getPrototypeOf2;
var _this;
(0, _classCallCheck2.default)(this, ResultContainer);
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = (0, _possibleConstructorReturn2.default)(this, (_getPrototypeOf2 = (0, _getPrototypeOf3.default)(ResultContainer)).call.apply(_getPrototypeOf2, [this].concat(args)));
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_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;
}
(0, _createClass2.default)(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 = (0, _objectWithoutProperties2.default)(_this$props2, ["className", "result", "titleField", "urlField", "view", "trackClickThrough", "shouldTrackClickThrough", "clickThroughTags"]);
var View = view || _reactSearchUiViews.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;
}(_react.Component);
exports.ResultContainer = ResultContainer;
(0, _defineProperty2.default)(ResultContainer, "propTypes", {
// Props
className: _propTypes.default.string,
clickThroughTags: _propTypes.default.arrayOf(_propTypes.default.string),
titleField: _propTypes.default.string,
urlField: _propTypes.default.string,
view: _propTypes.default.func,
result: _types.Result.isRequired,
shouldTrackClickThrough: _propTypes.default.bool,
// Actions
trackClickThrough: _propTypes.default.func
});
(0, _defineProperty2.default)(ResultContainer, "defaultProps", {
clickThroughTags: [],
shouldTrackClickThrough: true
});
var _default = (0, _.withSearch)(function (_ref) {
var trackClickThrough = _ref.trackClickThrough;
return {
trackClickThrough: trackClickThrough
};
})(ResultContainer);
exports.default = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250YWluZXJzL1Jlc3VsdC5qcyJdLCJuYW1lcyI6WyJSZXN1bHRDb250YWluZXIiLCJpZCIsInByb3BzIiwiY2xpY2tUaHJvdWdoVGFncyIsInNob3VsZFRyYWNrQ2xpY2tUaHJvdWdoIiwidHJhY2tDbGlja1Rocm91Z2giLCJjbGFzc05hbWUiLCJyZXN1bHQiLCJ0aXRsZUZpZWxkIiwidXJsRmllbGQiLCJ2aWV3IiwicmVzdCIsIlZpZXciLCJSZXN1bHQiLCJrZXkiLCJyYXciLCJvbkNsaWNrTGluayIsImhhbmRsZUNsaWNrTGluayIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsInN0cmluZyIsImFycmF5T2YiLCJmdW5jIiwiUmVzdWx0VHlwZSIsImlzUmVxdWlyZWQiLCJib29sIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7Ozs7OztJQUVhQSxlOzs7Ozs7Ozs7Ozs7Ozs7OztrR0FtQk8sVUFBQUMsRUFBRSxFQUFJO0FBQUEsd0JBS2xCLE1BQUtDLEtBTGE7QUFBQSxVQUVwQkMsZ0JBRm9CLGVBRXBCQSxnQkFGb0I7QUFBQSxVQUdwQkMsdUJBSG9CLGVBR3BCQSx1QkFIb0I7QUFBQSxVQUlwQkMsaUJBSm9CLGVBSXBCQSxpQkFKb0I7O0FBT3RCLFVBQUlELHVCQUFKLEVBQTZCO0FBQzNCQyxRQUFBQSxpQkFBaUIsQ0FBQ0osRUFBRCxFQUFLRSxnQkFBTCxDQUFqQjtBQUNEO0FBQ0YsSzs7Ozs7OzZCQUVRO0FBQUE7O0FBQUEseUJBY0gsS0FBS0QsS0FkRjtBQUFBLFVBRUxJLFNBRkssZ0JBRUxBLFNBRks7QUFBQSxVQUdMQyxNQUhLLGdCQUdMQSxNQUhLO0FBQUEsVUFJTEMsVUFKSyxnQkFJTEEsVUFKSztBQUFBLFVBS0xDLFFBTEssZ0JBS0xBLFFBTEs7QUFBQSxVQU1MQyxJQU5LLGdCQU1MQSxJQU5LO0FBQUEsVUFRTEwsaUJBUkssZ0JBUUxBLGlCQVJLO0FBQUEsVUFVTEQsdUJBVkssZ0JBVUxBLHVCQVZLO0FBQUEsVUFZTEQsZ0JBWkssZ0JBWUxBLGdCQVpLO0FBQUEsVUFhRlEsSUFiRTtBQWVQLFVBQU1DLElBQUksR0FBR0YsSUFBSSxJQUFJRywwQkFBckI7QUFFQSxhQUFPRCxJQUFJO0FBQ1ROLFFBQUFBLFNBQVMsRUFBVEEsU0FEUztBQUVUQyxRQUFBQSxNQUFNLEVBQUVBLE1BRkM7QUFHVE8sUUFBQUEsR0FBRyxtQkFBWVAsTUFBTSxDQUFDTixFQUFQLENBQVVjLEdBQXRCLENBSE07QUFJVEMsUUFBQUEsV0FBVyxFQUFFO0FBQUEsaUJBQU0sTUFBSSxDQUFDQyxlQUFMLENBQXFCVixNQUFNLENBQUNOLEVBQVAsQ0FBVWMsR0FBL0IsQ0FBTjtBQUFBLFNBSko7QUFLVFAsUUFBQUEsVUFBVSxFQUFWQSxVQUxTO0FBTVRDLFFBQUFBLFFBQVEsRUFBUkE7QUFOUyxTQU9ORSxJQVBNLEVBQVg7QUFTRDs7O0VBekRrQ08sZ0I7Ozs4QkFBeEJsQixlLGVBQ1E7QUFDakI7QUFDQU0sRUFBQUEsU0FBUyxFQUFFYSxtQkFBVUMsTUFGSjtBQUdqQmpCLEVBQUFBLGdCQUFnQixFQUFFZ0IsbUJBQVVFLE9BQVYsQ0FBa0JGLG1CQUFVQyxNQUE1QixDQUhEO0FBSWpCWixFQUFBQSxVQUFVLEVBQUVXLG1CQUFVQyxNQUpMO0FBS2pCWCxFQUFBQSxRQUFRLEVBQUVVLG1CQUFVQyxNQUxIO0FBTWpCVixFQUFBQSxJQUFJLEVBQUVTLG1CQUFVRyxJQU5DO0FBT2pCZixFQUFBQSxNQUFNLEVBQUVnQixjQUFXQyxVQVBGO0FBUWpCcEIsRUFBQUEsdUJBQXVCLEVBQUVlLG1CQUFVTSxJQVJsQjtBQVNqQjtBQUNBcEIsRUFBQUEsaUJBQWlCLEVBQUVjLG1CQUFVRztBQVZaLEM7OEJBRFJ0QixlLGtCQWNXO0FBQ3BCRyxFQUFBQSxnQkFBZ0IsRUFBRSxFQURFO0FBRXBCQyxFQUFBQSx1QkFBdUIsRUFBRTtBQUZMLEM7O2VBOENULGtCQUFXO0FBQUEsTUFBR0MsaUJBQUgsUUFBR0EsaUJBQUg7QUFBQSxTQUE0QjtBQUFFQSxJQUFBQSxpQkFBaUIsRUFBakJBO0FBQUYsR0FBNUI7QUFBQSxDQUFYLEVBQ2JMLGVBRGEsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIjtcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgUmVzdWx0IH0gZnJvbSBcIkBlbGFzdGljL3JlYWN0LXNlYXJjaC11aS12aWV3c1wiO1xuXG5pbXBvcnQgeyB3aXRoU2VhcmNoIH0gZnJvbSBcIi4uXCI7XG5pbXBvcnQgeyBSZXN1bHQgYXMgUmVzdWx0VHlwZSB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG5leHBvcnQgY2xhc3MgUmVzdWx0Q29udGFpbmVyIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICAvLyBQcm9wc1xuICAgIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjbGlja1Rocm91Z2hUYWdzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgICB0aXRsZUZpZWxkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHVybEZpZWxkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHZpZXc6IFByb3BUeXBlcy5mdW5jLFxuICAgIHJlc3VsdDogUmVzdWx0VHlwZS5pc1JlcXVpcmVkLFxuICAgIHNob3VsZFRyYWNrQ2xpY2tUaHJvdWdoOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAvLyBBY3Rpb25zXG4gICAgdHJhY2tDbGlja1Rocm91Z2g6IFByb3BUeXBlcy5mdW5jXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBjbGlja1Rocm91Z2hUYWdzOiBbXSxcbiAgICBzaG91bGRUcmFja0NsaWNrVGhyb3VnaDogdHJ1ZVxuICB9O1xuXG4gIGhhbmRsZUNsaWNrTGluayA9IGlkID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBjbGlja1Rocm91Z2hUYWdzLFxuICAgICAgc2hvdWxkVHJhY2tDbGlja1Rocm91Z2gsXG4gICAgICB0cmFja0NsaWNrVGhyb3VnaFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKHNob3VsZFRyYWNrQ2xpY2tUaHJvdWdoKSB7XG4gICAgICB0cmFja0NsaWNrVGhyb3VnaChpZCwgY2xpY2tUaHJvdWdoVGFncyk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICBjbGFzc05hbWUsXG4gICAgICByZXN1bHQsXG4gICAgICB0aXRsZUZpZWxkLFxuICAgICAgdXJsRmllbGQsXG4gICAgICB2aWV3LFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXG4gICAgICB0cmFja0NsaWNrVGhyb3VnaCxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xuICAgICAgc2hvdWxkVHJhY2tDbGlja1Rocm91Z2gsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICAgIGNsaWNrVGhyb3VnaFRhZ3MsXG4gICAgICAuLi5yZXN0XG4gICAgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgVmlldyA9IHZpZXcgfHwgUmVzdWx0O1xuXG4gICAgcmV0dXJuIFZpZXcoe1xuICAgICAgY2xhc3NOYW1lLFxuICAgICAgcmVzdWx0OiByZXN1bHQsXG4gICAgICBrZXk6IGByZXN1bHQtJHtyZXN1bHQuaWQucmF3fWAsXG4gICAgICBvbkNsaWNrTGluazogKCkgPT4gdGhpcy5oYW5kbGVDbGlja0xpbmsocmVzdWx0LmlkLnJhdyksXG4gICAgICB0aXRsZUZpZWxkLFxuICAgICAgdXJsRmllbGQsXG4gICAgICAuLi5yZXN0XG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgd2l0aFNlYXJjaCgoeyB0cmFja0NsaWNrVGhyb3VnaCB9KSA9PiAoeyB0cmFja0NsaWNrVGhyb3VnaCB9KSkoXG4gIFJlc3VsdENvbnRhaW5lclxuKTtcbiJdfQ==
;