/* * Copyright OpenSearch Contributors * SPDX-License-Identifier: Apache-2.0 */ import React from "react"; import { EuiButton, EuiModal, EuiModalBody, EuiModalFooter, EuiModalHeader, EuiModalHeaderTitle, EuiOverlayMask, EuiCodeBlock, EuiButtonEmpty, // @ts-ignore EuiCopy, EuiFlexGroup, EuiFlexItem, } from "@elastic/eui"; interface PolicyModalProps { policyId: string; policy: object | null; errorMessage?: string; onClose: () => void; onEdit: (visual: boolean) => void; } const PolicyModal: React.SFC = ({ policyId, policy, errorMessage, onClose, onEdit }) => { const policyString = JSON.stringify(policy, null, 4); return ( {/* // @ts-ignore */} {policyId} {errorMessage != null ? errorMessage : policyString} {(copy: () => void) => ( Copy )} Close onEdit(false)} fill disabled={!policyId || !policy} data-test-subj="policyModalEditJsonButton"> Edit as JSON onEdit(true)} fill disabled={!policyId || !policy} data-test-subj="policyModalEditButton"> Edit ); }; export default PolicyModal;