UNPKG

synapse-react-client

Version:

[![Build Status](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client.svg?branch=main)](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client) [![npm version](https://badge.fury.io/js/synapse-react-client.svg)](https://badge.fury.io/js/synaps

37 lines 2.75 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SearchDetails = void 0; var tslib_1 = require("tslib"); var react_1 = (0, tslib_1.__importStar)(require("react")); var react_error_boundary_1 = require("react-error-boundary"); var useSearch_1 = require("../../../../utils/hooks/SynapseAPI/useSearch"); var ErrorUtils_1 = require("../../../../utils/ErrorUtils"); var DetailsView_1 = require("../view/DetailsView"); var SearchDetails = function (_a) { var _b; var searchQuery = _a.searchQuery, sharedProps = (0, tslib_1.__rest)(_a, ["searchQuery"]); var _c = (0, useSearch_1.useSearchInfinite)(searchQuery, { enabled: !!searchQuery.queryTerm, }), data = _c.data, isLoading = _c.isLoading, hasNextPage = _c.hasNextPage, fetchNextPage = _c.fetchNextPage, isFetchingNextPage = _c.isFetchingNextPage, error = _c.error, isError = _c.isError; var handleError = (0, react_error_boundary_1.useErrorHandler)(); (0, react_1.useEffect)(function () { if (isError && error) { handleError((0, ErrorUtils_1.toError)(error)); } }, [isError, error, handleError]); if (searchQuery.queryTerm) { return (react_1.default.createElement(DetailsView_1.DetailsView, (0, tslib_1.__assign)({ entities: (_b = data === null || data === void 0 ? void 0 : data.pages.flatMap(function (page) { return page.hits; })) !== null && _b !== void 0 ? _b : [], isLoading: isLoading, hasNextPage: hasNextPage, fetchNextPage: fetchNextPage, isFetchingNextPage: isFetchingNextPage, noResultsPlaceholder: react_1.default.createElement(react_1.default.Fragment, null, react_1.default.createElement("img", { className: "SearchPlaceholderImage", alt: "No results found", src: "https://s3.amazonaws.com/static.synapse.org/images/search-sad.svg" }), react_1.default.createElement("p", null, "No results for \u201C", searchQuery.queryTerm.join(' '), "\u201D")) }, sharedProps, { enableSelectAll: false }))); } else { return (react_1.default.createElement(DetailsView_1.DetailsView, (0, tslib_1.__assign)({ entities: [], isLoading: false, hasNextPage: false, noResultsPlaceholder: react_1.default.createElement(react_1.default.Fragment, null, react_1.default.createElement("img", { className: "SearchPlaceholderImage", alt: "Begin searching", src: "https://s3.amazonaws.com/static.synapse.org/images/search-happy.svg" }), react_1.default.createElement("p", null, "Enter a term or Synapse ID to start searching")) }, sharedProps, { enableSelectAll: false }))); } }; exports.SearchDetails = SearchDetails; //# sourceMappingURL=SearchDetails.js.map