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

100 lines (99 loc) 4 kB
import { jsxs as p, jsx as t } from "react/jsx-runtime"; import { LargeButton as v } from "../styled/LargeButton.js"; import * as F from "../../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 R } from "../../utils/SynapseConstants.js"; import "lodash-es"; import "@sage-bionetworks/synapse-client/util/synapseClientFetch"; import "../../utils/PermissionLevelToAccessType.js"; import { useState as u, useEffect as M } from "react"; import { useSynapseContext as T } from "../../utils/context/SynapseContext.js"; import "use-deep-compare-effect"; import "@tanstack/react-query"; import "@tanstack/query-core"; import "lodash-es/isEmpty"; import "lodash-es/isEqual"; import "lodash-es/xorWith"; import "@mui/material"; import "@sage-bionetworks/synapse-client"; import "../../utils/types/IsType.js"; 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 k from "../LoadingScreen/LoadingScreen.js"; import "react-router"; import D from "dayjs"; import { Markdown as q } from "../Markdown/MarkdownSynapse.js"; function ce({ tableEntityId: s }) { const { accessToken: d } = T(), [o, f] = u(), [m, w] = u(3); let c = !0; if (M(() => ((() => { if (c) { if (o) return; const i = { concreteType: "org.sagebionetworks.repo.model.table.QueryBundleRequest", query: { sql: `SELECT "categories", "date", "title", "mdDescription" FROM ${s} ORDER BY "date" desc` }, entityId: s, partMask: R }; F.getQueryTableResults(i, d).then((r) => { f(r.queryResult?.queryResults); }); } })(), () => { c = !1; }), [s, d]), !o) return k; const n = o.headers, h = n.findIndex((e) => e.name === "categories"), I = n.findIndex((e) => e.name === "date"), g = n.findIndex((e) => e.name === "title"), S = n.findIndex( (e) => e.name === "mdDescription" ); return /* @__PURE__ */ p("div", { className: "Feed", children: [ /* @__PURE__ */ t("div", { className: "FeedItems", children: o.rows.map((e, i) => { if (i > m - 1) return; const r = e.values; r.some((a) => a === null) && console.warn("Row has null value(s) when no nulls expected"); const l = JSON.parse(r[h]), x = r[I], y = r[g], C = r[S]; return /* @__PURE__ */ t("div", { className: "FeedItem", children: /* @__PURE__ */ p("div", { children: [ l && /* @__PURE__ */ t("div", { className: "FeedItemCategories", children: l.map( (a, N) => /* @__PURE__ */ t( "div", { className: "FeedItemCategory", children: a }, `row-${i},categoryIndex-${N}` ) ) }), /* @__PURE__ */ t("p", { className: "FeedItemDate", children: D(new Date(parseInt(x))).format( "MMMM YYYY" ) }), /* @__PURE__ */ t("p", { className: "FeedItemTitle", children: y }), /* @__PURE__ */ t("div", { className: "FeedItemDescription", children: /* @__PURE__ */ t(q, { markdown: C }) }) ] }) }, `row-${i}`); }) }), o.rows.length > m && /* @__PURE__ */ t("div", { className: "FeedViewAllNewsButtonContainer", children: /* @__PURE__ */ t( v, { color: "primary", variant: "contained", onClick: () => w(m + 3), children: "View More News" } ) }) ] }); } export { ce as default }; //# sourceMappingURL=TableFeedCards.js.map