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

157 lines (156 loc) 6.24 kB
import { jsx as e, jsxs as d, Fragment as k } from "react/jsx-runtime"; import { getValueOrMultiValue as B } from "./CardUtils.js"; import { formatDate as z } from "../../utils/functions/DateFormatter.js"; import { getColumnIndex as D } from "../../utils/functions/SqlFunctions.js"; import "../../utils/functions/EntityTypeUtils.js"; import "../../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 { isEmpty as G } from "lodash-es"; import { TargetEnum as M } from "../../utils/html/TargetEnum.js"; import { Tooltip as J } from "@mui/material"; import { ColumnTypeEnum as R } from "@sage-bionetworks/synapse-types"; import K from "dayjs"; import { Fragment as p } from "react"; import { EntityLink as Q } from "../EntityLink.js"; import { Markdown as b } from "../Markdown/MarkdownSynapse.js"; import { SmartLink as S } from "../SmartLink/SmartLink.js"; import { UserBadge as W } from "../UserCard/UserBadge.js"; import { EntityColumnImage as V } from "../widgets/EntityColumnImage.js"; import { LabelMaybeWithIcon as O } from "./LabelMaybeWithIcon.js"; import j from "./Linkify.js"; function Le(F) { const { value: s, columnName: T, labelLink: r, selectColumns: y, columnModels: I, isHeader: H, className: v, rowData: w, rowId: _, columnIconOptions: P } = F; if (!s) return /* @__PURE__ */ e("p", { children: s }); const { strList: t, str: i, selectColumn: E } = B({ columnName: T, value: s, selectColumns: y, columnModels: I }), L = E?.columnType, U = P?.columns?.[T], g = ",  "; if (!i) return /* @__PURE__ */ e("p", { children: i }); let c = v; const x = {}; if (H && (c = v?.concat(" ", "SRC-lightLink")), L === R.USERID_LIST && t) return /* @__PURE__ */ e("p", { children: t.map((n, o) => /* @__PURE__ */ d(p, { children: [ /* @__PURE__ */ e(W, { userId: n, className: c }), o < t.length - 1 && g ] }, n)) }); if (L === R.USERID && i) return /* @__PURE__ */ e(W, { userId: i, className: c }); if (L === R.DATE && i) return /* @__PURE__ */ e("p", { children: z(K(Number(i))) }); if (!r) return t ? /* @__PURE__ */ e(k, { children: t.map((n, o) => /* @__PURE__ */ d(p, { children: [ /* @__PURE__ */ e(O, { value: n, iconConfig: U, children: /* @__PURE__ */ e(j, { text: n, className: c }) }), o < t.length - 1 && g ] }, n)) }) : /* @__PURE__ */ e(O, { value: i, iconConfig: U, children: /* @__PURE__ */ e(j, { text: i, className: c }) }); if ("resolveEntityName" in r && r.resolveEntityName && i) { const { baseURL: n, URLColumnName: o } = r, a = `/${n}?${o}=${i}`; return /* @__PURE__ */ e(Q, { entity: i, link: a, showIcon: !1 }); } let l; if ("isMapValueToReactNodeConfig" in r && r.isMapValueToReactNodeConfig) { const { Component: n } = r; l = /* @__PURE__ */ e(n, { value: t || i, selectColumn: E }); } else if ("isMarkdown" in r && r.isMarkdown) t ? l = /* @__PURE__ */ e("p", { children: t.map((n, o) => /* @__PURE__ */ d(p, { children: [ /* @__PURE__ */ e(b, { renderInline: !0, markdown: n }, n), o < t.length - 1 && g ] }, n)) }) : l = /* @__PURE__ */ e(b, { renderInline: !0, markdown: s }); else if ("isEntityImage" in r && r.isEntityImage) t ? l = /* @__PURE__ */ e("p", { children: t.map((n, o) => /* @__PURE__ */ d(p, { children: [ /* @__PURE__ */ e(V, { entityId: n }), o < t.length - 1 && g ] }, n)) }) : l = /* @__PURE__ */ e(V, { entityId: s }); else { const n = t || i.split(","); let o; if ("target" in r && (o = r.target), "linkColumnName" in r) { const a = D( r.linkColumnName, y, I ); if (a == null) console.warn( `Could not determine column index of ${r.linkColumnName}` ), l = /* @__PURE__ */ e(k, { children: s }); else { const N = w[a]; G(N) ? l = /* @__PURE__ */ e(k, { children: s }) : l = /* @__PURE__ */ e("p", { children: n.map((m, C) => /* @__PURE__ */ d(p, { children: [ /* @__PURE__ */ e( S, { href: N ?? "", target: o ?? M.NEW_WINDOW, className: c, style: x, children: m }, m ), C < n.length - 1 && /* @__PURE__ */ e("span", { style: { marginRight: 4 }, children: ", " }) ] }, m)) }); } } else l = /* @__PURE__ */ e("p", { children: n.map((a, N) => { const m = r, C = m.overrideValueWithRowID ? _ : a; let u = ""; if ("baseURL" in m) { const { baseURL: f, URLColumnName: h, wrapValueWithParens: q, urlParamStyle: A = "query-param" } = m, $ = q ? `(${C})` : C; A === "path-segment" ? u = `/${f}/${encodeURIComponent(String($))}` : u = `/${f}?${h}=${$}`; } else if ("overrideLinkURLColumnName" in m) { const f = D( m.overrideLinkURLColumnName, y, I ); if (f) { const h = w[f]; h && (m.overrideLinkURLColumnTransform ? u = m.overrideLinkURLColumnTransform(h) : u = h); } } return /* @__PURE__ */ d(p, { children: [ /* @__PURE__ */ e( S, { href: u, className: c, style: x, target: o ?? M.CURRENT_WINDOW, children: a }, a ), N < n.length - 1 && /* @__PURE__ */ e("span", { style: { marginRight: 4 }, children: ", " }) ] }, a); }) }); } return "tooltipText" in r && r.tooltipText ? /* @__PURE__ */ e(J, { title: r.tooltipText, enterNextDelay: 300, children: /* @__PURE__ */ e("span", { children: l }) }) : l; } export { Le as SynapseCardLabel }; //# sourceMappingURL=SynapseCardLabel.js.map