synapse-react-client
Version:
[](https://badge.fury.io/js/synapse-react-client) [](https://github.com/prettier/prettie
100 lines (99 loc) • 4 kB
JavaScript
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