@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.
23 lines • 2.06 kB
JavaScript
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { ReactSearchComponentContext } from "../../components/ReactSearchComponentContext";
import { RelationsGraph } from "../../components/graph/RelationsGraph";
import { Dialog, DialogContent, DialogTitle } from "../../components/ui/dialog";
import * as VisuallyHidden from "@radix-ui/react-visually-hidden";
import { useCallback, useContext } from "react";
import { Button } from "../../components/ui/button";
import { X } from "lucide-react";
export function RelationsGraphModal({ isOpen, onOpenChange, nodes, resultView, options, dark, nodeTypes }) {
const searchContext = useContext(ReactSearchComponentContext);
const localSearchFor = useCallback((query) => {
onOpenChange(false);
searchContext.searchFor(query);
}, [onOpenChange, searchContext]);
return (_jsx(Dialog, { open: isOpen, onOpenChange: onOpenChange, children: _jsxs(DialogContent, { className: "rfs-h-[calc(100vh-40px)] rfs-max-w-none !rfs-w-[calc(100vw-40px)] !rfs-p-0", hideCloseButton: true, children: [_jsx(VisuallyHidden.Root, { children: _jsx(DialogTitle, { children: "Relationship graph" }) }), _jsx(ReactSearchComponentContext.Provider, { value: {
searchFor: localSearchFor,
searchTerm: searchContext.searchTerm,
searchForBackground: searchContext.searchForBackground,
elasticConnector: searchContext.elasticConnector,
config: searchContext.config
}, children: _jsx(RelationsGraph, { nodes: nodes, resultView: resultView, options: options, dark: dark, nodeTypes: nodeTypes }) }), _jsx("div", { className: "rfs-absolute rfs-right-4 rfs-top-4", children: _jsxs(Button, { variant: "outline", onClick: () => onOpenChange(false), children: [_jsx(X, { className: "rfs-size-4" }), " Close ", _jsx("span", { className: "rfs-font-mono rfs-text-muted-foreground rfs-ml-2", children: "Esc" })] }) })] }) }));
}
//# sourceMappingURL=RelationsGraphModal.js.map