UNPKG

@kit-data-manager/react-search-component

Version:

All-in-one component for rendering an elastic search UI for searching anything. Built-in support for visualizing related items in a graph and resolving unique identifiers.

30 lines 1.12 kB
import { jsx as _jsx } from "react/jsx-runtime"; import { PidResolver, pidResolver } from "../../lib/PidResolver"; import { memo, useCallback } from "react"; import { tempResolver } from "../../lib/TempResolver"; import useSWRImmutable from "swr/immutable"; /** * Resolves a PID and displays the name of the received record * @param pid A valid PID * @constructor */ export const PidNameDisplay = memo(function PidNameDisplay({ pid }) { const resolveContent = useCallback(async (pid) => { if (PidResolver.isPID(pid)) { const content = await pidResolver.resolve(pid); return content.name; } else if (pid.startsWith("http://purl.obolibrary.org")) { return tempResolver.resolvePurl(pid); } else if (pid.startsWith("https://spdx.org")) { return tempResolver.resolveSpdx(pid); } else { return pid; } }, []); const { data, error } = useSWRImmutable(pid, resolveContent); return _jsx("span", { children: error ? pid : (data ?? "") }); }); //# sourceMappingURL=PidNameDisplay.js.map