mirror of
https://github.com/fleetdm/fleet
synced 2026-04-21 21:47:20 +00:00
52 lines
1.2 KiB
TypeScript
52 lines
1.2 KiB
TypeScript
import React from "react";
|
|
|
|
import FleetAce from "components/FleetAce";
|
|
import Modal from "components/Modal";
|
|
import Button from "components/buttons/Button";
|
|
import PerformanceImpactCell from "components/TableContainer/DataTable/PerformanceImpactCell";
|
|
|
|
const baseClass = "show-query-modal";
|
|
|
|
interface IShowQueryModalProps {
|
|
onCancel: () => void;
|
|
query?: string;
|
|
impact?: string;
|
|
}
|
|
|
|
const ShowQueryModal = ({
|
|
query,
|
|
impact,
|
|
onCancel,
|
|
}: IShowQueryModalProps): JSX.Element => {
|
|
return (
|
|
<Modal
|
|
title="Query"
|
|
onExit={onCancel}
|
|
onEnter={onCancel}
|
|
className={baseClass}
|
|
>
|
|
<div className={baseClass}>
|
|
<FleetAce
|
|
value={query}
|
|
name="Query"
|
|
wrapperClassName={`${baseClass}__text-editor-wrapper`}
|
|
wrapEnabled
|
|
readOnly
|
|
/>
|
|
{impact && (
|
|
<div className={`${baseClass}__performance-impact`}>
|
|
Performance impact:{" "}
|
|
<PerformanceImpactCell value={{ indicator: impact }} />
|
|
</div>
|
|
)}
|
|
<div className="modal-cta-wrap">
|
|
<Button onClick={onCancel} variant="brand">
|
|
Done
|
|
</Button>
|
|
</div>
|
|
</div>
|
|
</Modal>
|
|
);
|
|
};
|
|
|
|
export default ShowQueryModal;
|