@elastic/react-search-ui
Version:
A React library for building search experiences
96 lines (83 loc) • 9.56 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 _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 React, { Component } from "react";
import { Result, Results } from "@elastic/react-search-ui-views";
import { withSearch } from "..";
import { Result as ResultContainer } from ".";
import { Result as ResultType } from "../types";
function getRaw(result, value) {
if (!result[value] || !result[value].raw) return;
return result[value].raw;
}
export var ResultsContainer =
/*#__PURE__*/
function (_Component) {
_inherits(ResultsContainer, _Component);
function ResultsContainer() {
_classCallCheck(this, ResultsContainer);
return _possibleConstructorReturn(this, _getPrototypeOf(ResultsContainer).apply(this, arguments));
}
_createClass(ResultsContainer, [{
key: "render",
value: function render() {
var _this$props = this.props,
className = _this$props.className,
clickThroughTags = _this$props.clickThroughTags,
resultView = _this$props.resultView,
results = _this$props.results,
shouldTrackClickThrough = _this$props.shouldTrackClickThrough,
titleField = _this$props.titleField,
urlField = _this$props.urlField,
view = _this$props.view,
rest = _objectWithoutProperties(_this$props, ["className", "clickThroughTags", "resultView", "results", "shouldTrackClickThrough", "titleField", "urlField", "view"]);
var View = view || Results;
var ResultView = resultView || Result;
return View(_objectSpread({
className: className,
children: results.map(function (result) {
return React.createElement(ResultContainer, {
key: "result-".concat(getRaw(result, "id")),
titleField: titleField,
urlField: urlField,
view: ResultView,
result: result,
shouldTrackClickThrough: shouldTrackClickThrough,
clickThroughTags: clickThroughTags
});
})
}, rest));
}
}]);
return ResultsContainer;
}(Component);
_defineProperty(ResultsContainer, "propTypes", {
// Props
className: PropTypes.string,
clickThroughTags: PropTypes.arrayOf(PropTypes.string),
resultView: PropTypes.func,
titleField: PropTypes.string,
urlField: PropTypes.string,
view: PropTypes.func,
shouldTrackClickThrough: PropTypes.bool,
// State
results: PropTypes.arrayOf(ResultType).isRequired
});
_defineProperty(ResultsContainer, "defaultProps", {
clickThroughTags: [],
shouldTrackClickThrough: true
});
export default withSearch(function (_ref) {
var results = _ref.results;
return {
results: results
};
})(ResultsContainer);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250YWluZXJzL1Jlc3VsdHMuanMiXSwibmFtZXMiOlsiUHJvcFR5cGVzIiwiUmVhY3QiLCJDb21wb25lbnQiLCJSZXN1bHQiLCJSZXN1bHRzIiwid2l0aFNlYXJjaCIsIlJlc3VsdENvbnRhaW5lciIsIlJlc3VsdFR5cGUiLCJnZXRSYXciLCJyZXN1bHQiLCJ2YWx1ZSIsInJhdyIsIlJlc3VsdHNDb250YWluZXIiLCJwcm9wcyIsImNsYXNzTmFtZSIsImNsaWNrVGhyb3VnaFRhZ3MiLCJyZXN1bHRWaWV3IiwicmVzdWx0cyIsInNob3VsZFRyYWNrQ2xpY2tUaHJvdWdoIiwidGl0bGVGaWVsZCIsInVybEZpZWxkIiwidmlldyIsInJlc3QiLCJWaWV3IiwiUmVzdWx0VmlldyIsImNoaWxkcmVuIiwibWFwIiwic3RyaW5nIiwiYXJyYXlPZiIsImZ1bmMiLCJib29sIiwiaXNSZXF1aXJlZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsT0FBT0EsU0FBUCxNQUFzQixZQUF0QjtBQUNBLE9BQU9DLEtBQVAsSUFBZ0JDLFNBQWhCLFFBQWlDLE9BQWpDO0FBQ0EsU0FBU0MsTUFBVCxFQUFpQkMsT0FBakIsUUFBZ0MsZ0NBQWhDO0FBRUEsU0FBU0MsVUFBVCxRQUEyQixJQUEzQjtBQUNBLFNBQVNGLE1BQU0sSUFBSUcsZUFBbkIsUUFBMEMsR0FBMUM7QUFDQSxTQUFTSCxNQUFNLElBQUlJLFVBQW5CLFFBQXFDLFVBQXJDOztBQUVBLFNBQVNDLE1BQVQsQ0FBZ0JDLE1BQWhCLEVBQXdCQyxLQUF4QixFQUErQjtBQUM3QixNQUFJLENBQUNELE1BQU0sQ0FBQ0MsS0FBRCxDQUFQLElBQWtCLENBQUNELE1BQU0sQ0FBQ0MsS0FBRCxDQUFOLENBQWNDLEdBQXJDLEVBQTBDO0FBQzFDLFNBQU9GLE1BQU0sQ0FBQ0MsS0FBRCxDQUFOLENBQWNDLEdBQXJCO0FBQ0Q7O0FBRUQsV0FBYUMsZ0JBQWI7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTs7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQSw2QkFtQlc7QUFBQSx3QkFXSCxLQUFLQyxLQVhGO0FBQUEsVUFFTEMsU0FGSyxlQUVMQSxTQUZLO0FBQUEsVUFHTEMsZ0JBSEssZUFHTEEsZ0JBSEs7QUFBQSxVQUlMQyxVQUpLLGVBSUxBLFVBSks7QUFBQSxVQUtMQyxPQUxLLGVBS0xBLE9BTEs7QUFBQSxVQU1MQyx1QkFOSyxlQU1MQSx1QkFOSztBQUFBLFVBT0xDLFVBUEssZUFPTEEsVUFQSztBQUFBLFVBUUxDLFFBUkssZUFRTEEsUUFSSztBQUFBLFVBU0xDLElBVEssZUFTTEEsSUFUSztBQUFBLFVBVUZDLElBVkU7O0FBYVAsVUFBTUMsSUFBSSxHQUFHRixJQUFJLElBQUlqQixPQUFyQjtBQUNBLFVBQU1vQixVQUFVLEdBQUdSLFVBQVUsSUFBSWIsTUFBakM7QUFFQSxhQUFPb0IsSUFBSTtBQUNUVCxRQUFBQSxTQUFTLEVBQUVBLFNBREY7QUFFVFcsUUFBQUEsUUFBUSxFQUFFUixPQUFPLENBQUNTLEdBQVIsQ0FBWSxVQUFBakIsTUFBTTtBQUFBLGlCQUMxQixvQkFBQyxlQUFEO0FBQ0UsWUFBQSxHQUFHLG1CQUFZRCxNQUFNLENBQUNDLE1BQUQsRUFBUyxJQUFULENBQWxCLENBREw7QUFFRSxZQUFBLFVBQVUsRUFBRVUsVUFGZDtBQUdFLFlBQUEsUUFBUSxFQUFFQyxRQUhaO0FBSUUsWUFBQSxJQUFJLEVBQUVJLFVBSlI7QUFLRSxZQUFBLE1BQU0sRUFBRWYsTUFMVjtBQU1FLFlBQUEsdUJBQXVCLEVBQUVTLHVCQU4zQjtBQU9FLFlBQUEsZ0JBQWdCLEVBQUVIO0FBUHBCLFlBRDBCO0FBQUEsU0FBbEI7QUFGRCxTQWFOTyxJQWJNLEVBQVg7QUFlRDtBQWxESDs7QUFBQTtBQUFBLEVBQXNDcEIsU0FBdEM7O2dCQUFhVSxnQixlQUNRO0FBQ2pCO0FBQ0FFLEVBQUFBLFNBQVMsRUFBRWQsU0FBUyxDQUFDMkIsTUFGSjtBQUdqQlosRUFBQUEsZ0JBQWdCLEVBQUVmLFNBQVMsQ0FBQzRCLE9BQVYsQ0FBa0I1QixTQUFTLENBQUMyQixNQUE1QixDQUhEO0FBSWpCWCxFQUFBQSxVQUFVLEVBQUVoQixTQUFTLENBQUM2QixJQUpMO0FBS2pCVixFQUFBQSxVQUFVLEVBQUVuQixTQUFTLENBQUMyQixNQUxMO0FBTWpCUCxFQUFBQSxRQUFRLEVBQUVwQixTQUFTLENBQUMyQixNQU5IO0FBT2pCTixFQUFBQSxJQUFJLEVBQUVyQixTQUFTLENBQUM2QixJQVBDO0FBUWpCWCxFQUFBQSx1QkFBdUIsRUFBRWxCLFNBQVMsQ0FBQzhCLElBUmxCO0FBU2pCO0FBQ0FiLEVBQUFBLE9BQU8sRUFBRWpCLFNBQVMsQ0FBQzRCLE9BQVYsQ0FBa0JyQixVQUFsQixFQUE4QndCO0FBVnRCLEM7O2dCQURSbkIsZ0Isa0JBY1c7QUFDcEJHLEVBQUFBLGdCQUFnQixFQUFFLEVBREU7QUFFcEJHLEVBQUFBLHVCQUF1QixFQUFFO0FBRkwsQzs7QUF1Q3hCLGVBQWViLFVBQVUsQ0FBQztBQUFBLE1BQUdZLE9BQUgsUUFBR0EsT0FBSDtBQUFBLFNBQWtCO0FBQUVBLElBQUFBLE9BQU8sRUFBUEE7QUFBRixHQUFsQjtBQUFBLENBQUQsQ0FBVixDQUEyQ0wsZ0JBQTNDLENBQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCI7XG5pbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBSZXN1bHQsIFJlc3VsdHMgfSBmcm9tIFwiQGVsYXN0aWMvcmVhY3Qtc2VhcmNoLXVpLXZpZXdzXCI7XG5cbmltcG9ydCB7IHdpdGhTZWFyY2ggfSBmcm9tIFwiLi5cIjtcbmltcG9ydCB7IFJlc3VsdCBhcyBSZXN1bHRDb250YWluZXIgfSBmcm9tIFwiLlwiO1xuaW1wb3J0IHsgUmVzdWx0IGFzIFJlc3VsdFR5cGUgfSBmcm9tIFwiLi4vdHlwZXNcIjtcblxuZnVuY3Rpb24gZ2V0UmF3KHJlc3VsdCwgdmFsdWUpIHtcbiAgaWYgKCFyZXN1bHRbdmFsdWVdIHx8ICFyZXN1bHRbdmFsdWVdLnJhdykgcmV0dXJuO1xuICByZXR1cm4gcmVzdWx0W3ZhbHVlXS5yYXc7XG59XG5cbmV4cG9ydCBjbGFzcyBSZXN1bHRzQ29udGFpbmVyIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICAvLyBQcm9wc1xuICAgIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjbGlja1Rocm91Z2hUYWdzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgICByZXN1bHRWaWV3OiBQcm9wVHlwZXMuZnVuYyxcbiAgICB0aXRsZUZpZWxkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHVybEZpZWxkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHZpZXc6IFByb3BUeXBlcy5mdW5jLFxuICAgIHNob3VsZFRyYWNrQ2xpY2tUaHJvdWdoOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAvLyBTdGF0ZVxuICAgIHJlc3VsdHM6IFByb3BUeXBlcy5hcnJheU9mKFJlc3VsdFR5cGUpLmlzUmVxdWlyZWRcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGNsaWNrVGhyb3VnaFRhZ3M6IFtdLFxuICAgIHNob3VsZFRyYWNrQ2xpY2tUaHJvdWdoOiB0cnVlXG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIGNsYXNzTmFtZSxcbiAgICAgIGNsaWNrVGhyb3VnaFRhZ3MsXG4gICAgICByZXN1bHRWaWV3LFxuICAgICAgcmVzdWx0cyxcbiAgICAgIHNob3VsZFRyYWNrQ2xpY2tUaHJvdWdoLFxuICAgICAgdGl0bGVGaWVsZCxcbiAgICAgIHVybEZpZWxkLFxuICAgICAgdmlldyxcbiAgICAgIC4uLnJlc3RcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IFZpZXcgPSB2aWV3IHx8IFJlc3VsdHM7XG4gICAgY29uc3QgUmVzdWx0VmlldyA9IHJlc3VsdFZpZXcgfHwgUmVzdWx0O1xuXG4gICAgcmV0dXJuIFZpZXcoe1xuICAgICAgY2xhc3NOYW1lOiBjbGFzc05hbWUsXG4gICAgICBjaGlsZHJlbjogcmVzdWx0cy5tYXAocmVzdWx0ID0+IChcbiAgICAgICAgPFJlc3VsdENvbnRhaW5lclxuICAgICAgICAgIGtleT17YHJlc3VsdC0ke2dldFJhdyhyZXN1bHQsIFwiaWRcIil9YH1cbiAgICAgICAgICB0aXRsZUZpZWxkPXt0aXRsZUZpZWxkfVxuICAgICAgICAgIHVybEZpZWxkPXt1cmxGaWVsZH1cbiAgICAgICAgICB2aWV3PXtSZXN1bHRWaWV3fVxuICAgICAgICAgIHJlc3VsdD17cmVzdWx0fVxuICAgICAgICAgIHNob3VsZFRyYWNrQ2xpY2tUaHJvdWdoPXtzaG91bGRUcmFja0NsaWNrVGhyb3VnaH1cbiAgICAgICAgICBjbGlja1Rocm91Z2hUYWdzPXtjbGlja1Rocm91Z2hUYWdzfVxuICAgICAgICAvPlxuICAgICAgKSksXG4gICAgICAuLi5yZXN0XG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgd2l0aFNlYXJjaCgoeyByZXN1bHRzIH0pID0+ICh7IHJlc3VsdHMgfSkpKFJlc3VsdHNDb250YWluZXIpO1xuIl19