UNPKG

synapse-react-client

Version:

[![npm version](https://badge.fury.io/js/synapse-react-client.svg)](https://badge.fury.io/js/synapse-react-client) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettie

121 lines (120 loc) 4.18 kB
import { jsx as o } from "react/jsx-runtime"; import { Search as c } from "../../assets/themed_icons/Search.js"; import "@mui/material/SvgIcon"; import "../../synapse-client/SynapseClient.js"; import "@sage-bionetworks/synapse-client/generated/models/ErrorResponseCode"; import "@sage-bionetworks/synapse-client/generated/models/TwoFactorAuthErrorResponse"; import "@sage-bionetworks/synapse-client/util/SynapseClientError"; import "@sage-bionetworks/synapse-types"; import "../../utils/functions/EntityTypeUtils.js"; import { BUNDLE_MASK_QUERY_RESULTS as f } from "../../utils/SynapseConstants.js"; import "lodash-es"; import "@sage-bionetworks/synapse-client/util/synapseClientFetch"; import "@tanstack/react-query"; import "../../utils/PermissionLevelToAccessType.js"; import { useState as h } from "react"; import "../../utils/context/SynapseContext.js"; import "use-deep-compare-effect"; import { styled as y, Popper as S, useTheme as R, FormControl as b, Autocomplete as g, TextField as q, InputAdornment as C, Box as I } from "@mui/material"; import "../../utils/hooks/useCookiePreferences.js"; import "../../utils/hooks/useSourceAppConfigs.js"; import "universal-cookie"; import "../../utils/AppUtils/session/ApplicationSessionContext.js"; import "../../utils/context/FullContextProvider.js"; import "../../utils/context/DocumentMetadataContext.js"; import '../../style/components/_spinner.css';/* empty css */ import "@tanstack/query-core"; import "lodash-es/isEmpty"; import "lodash-es/isEqual"; import "lodash-es/xorWith"; import "react-router"; import "@sage-bionetworks/synapse-client"; import "../../utils/types/IsType.js"; import { useGetQueryResultBundleWithAsyncStatus as A } from "../../synapse-queries/entity/useGetQueryResultBundle.js"; const i = "0px 4px 4px 0px rgba(0, 0, 0, 0.05), 0px 1px 1px 0px rgba(0, 0, 0, 0.05)", B = y(S)(() => ({ "& .MuiAutocomplete-paper": { borderRadius: "0px 0px 40px 40px", p: "0px 20px 20px 20px", boxShadow: i } })), P = (t) => /* @__PURE__ */ o( B, { ...t, placement: "bottom", modifiers: [{ name: "flip", enabled: !1 }] } ); function ae({ sourceTable: t, gotoPlace: n }) { const [m, p] = h(!1), a = R(), l = { partMask: f, concreteType: "org.sagebionetworks.repo.model.table.QueryBundleRequest", entityId: t, query: { sql: `SELECT * FROM ${t}`, limit: 10 } }, { data: d, isLoading: u } = A(l), r = d?.responseBody?.queryResult?.queryResults, x = r?.headers?.findIndex( (e) => e.name == "top_searched" ); return /* @__PURE__ */ o(b, { fullWidth: !0, sx: { m: 1 }, children: /* @__PURE__ */ o( g, { freeSolo: !0, disableClearable: !0, filterOptions: (e) => e, options: r && !u ? r.rows.map((e) => e.values[x] ?? "") : ["..."], onChange: (e, s) => { s && n(`/SearchV2:default?query=${encodeURIComponent(s)}`); }, slots: { popper: P }, onOpen: () => p(!0), onClose: () => p(!1), groupBy: () => "Most popular searches", renderInput: (e) => /* @__PURE__ */ o( q, { ...e, variant: "outlined", placeholder: "Search Synapse", slotProps: { input: { sx: { fontSize: "24px", borderRadius: m ? "40px 40px 0px 0px" : "40px", backgroundColor: "white", boxShadow: i }, startAdornment: /* @__PURE__ */ o(C, { position: "start", children: /* @__PURE__ */ o( I, { sx: { ml: "15px", display: "flex", alignItems: "center" }, children: /* @__PURE__ */ o( c, { size: 32, fill: a.palette.secondary[600] } ) } ) }) } } } ) } ) }); } export { ae as SynapseHomepageSearch }; //# sourceMappingURL=SynapseHomepageSearch.js.map