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

107 lines (106 loc) 3.28 kB
import { jsx as n, jsxs as y } from "react/jsx-runtime"; import C from "./EcosystemCard.js"; import f from "./EcosystemSkeleton.js"; import { Markdown as I } from "../Markdown/MarkdownSynapse.js"; import { ImageFileHandle as O } from "../widgets/ImageFileHandle.js"; import { useGetFullTableQueryResults as S } from "../../synapse-queries/entity/useGetQueryResultBundle.js"; import { parseEntityIdFromSqlStatement as U, getColumnIndex as i } from "../../utils/functions/SqlFunctions.js"; import "../../utils/functions/EntityTypeUtils.js"; import { BUNDLE_MASK_QUERY_RESULTS as _ } from "../../utils/SynapseConstants.js"; 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-client/util/synapseClientFetch"; import "lodash-es"; import { Alert as g, Stack as q } from "@mui/material"; import { FileHandleAssociateType as N } from "@sage-bionetworks/synapse-types"; import T from "lodash-es/uniq"; import A from "./EcosystemLayout.js"; const l = { RESOURCE_CATEGORY: "resourcecategory", RESOURCE_NAME: "resourcename", RESOURCE_DESCRIPTION: "resourcedescription", RESOURCE_URL: "resourceurl", RESOURCE_ICON_IMAGE: "resourceiconimage" }; function M(m) { const { row: r, headers: o, tableEntityId: t } = m, E = i( l.RESOURCE_NAME, o ), u = r.values[E], a = i( l.RESOURCE_URL, o ), d = r.values[a], R = i( l.RESOURCE_DESCRIPTION, o ), e = r.values[R]; let c = null; const s = i( l.RESOURCE_ICON_IMAGE, o ); if (s) { const p = r.values[s]; p && (c = /* @__PURE__ */ n( O, { fileHandleAssociation: { fileHandleId: p, associateObjectId: t, associateObjectType: N.TableEntity } } )); } return /* @__PURE__ */ n( C, { title: u, titleUrl: d, description: /* @__PURE__ */ n(I, { markdown: e }), image: c } ); } function J(m) { const { query: r } = m, o = U(r.sql), { data: t, isLoading: E, error: u } = S({ concreteType: "org.sagebionetworks.repo.model.table.QueryBundleRequest", entityId: o, query: r, partMask: _ }); if (!t?.queryResult) return E ? /* @__PURE__ */ n(f, {}) : u ? /* @__PURE__ */ y(g, { color: "error", children: [ "Error loading Ecosystem data: ", u.message ] }) : null; const a = i( l.RESOURCE_CATEGORY, t.queryResult.queryResults.headers ), R = T( t.queryResult.queryResults.rows.map((e) => e.values[a]).filter((e) => !!e) // Remove null values ).map((e) => { const c = t.queryResult.queryResults.rows.filter( (s) => s.values[a] === e ); return { title: e, content: /* @__PURE__ */ n(q, { children: c.map((s) => /* @__PURE__ */ n( M, { row: s, headers: t.queryResult.queryResults.headers, tableEntityId: o }, s.values.join("-") )) }) }; }); return /* @__PURE__ */ n(A, { config: R }); } export { J as default }; //# sourceMappingURL=TableQueryEcosystem.js.map