Sha256: b085a58ee2e19bc852296633a4fb2bfa7feb53a7977a28585ccdef6ffde51148

Contents?: true

Size: 1.4 KB

Versions: 11

Compression:

Stored size: 1.4 KB

Contents

import React from 'react';
import PropTypes from 'prop-types';
import {
  CodeBlock,
  CodeBlockAction,
  CodeBlockCode,
  ClipboardCopyButton,
} from '@patternfly/react-core';

export const ENCTab = ({ encData }) => {
  const [copied, setCopied] = React.useState(false);

  const code = `${encData}`;

  const clipboardCopyFunc = (event, text) => {
    const clipboard = event.currentTarget.parentElement;
    const el = document.createElement('textarea');
    el.value = text.toString();
    clipboard.appendChild(el);
    el.select();
    document.execCommand('copy');
    clipboard.removeChild(el);
  };

  const onClick = (event, text) => {
    clipboardCopyFunc(event, text);
    setCopied(true);
  };

  const actions = (
    <CodeBlockAction>
      <ClipboardCopyButton
        id="copy-button"
        textId="code-content"
        aria-label="Copy to clipboard"
        onClick={e => onClick(e, code)}
        exitDelay={600}
        maxWidth="110px"
        variant="plain"
      >
        {copied ? 'Successfully copied to clipboard!' : 'Copy to clipboard'}
      </ClipboardCopyButton>
    </CodeBlockAction>
  );

  return (
    <CodeBlock actions={actions}>
      <CodeBlockCode id="code-content">{code}</CodeBlockCode>
    </CodeBlock>
  );
};

ENCTab.propTypes = {
  encData: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),
};

ENCTab.defaultProps = {
  encData: undefined,
};

export default ENCTab;

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
foreman_puppet-5.1.3 webpack/src/Extends/Host/PuppetTab/SubTabs/ENCPreview/ENCTab.js
foreman_puppet-5.1.2 webpack/src/Extends/Host/PuppetTab/SubTabs/ENCPreview/ENCTab.js
foreman_puppet-4.1.1 webpack/src/Extends/Host/PuppetTab/SubTabs/ENCPreview/ENCTab.js
foreman_puppet-5.1.1 webpack/src/Extends/Host/PuppetTab/SubTabs/ENCPreview/ENCTab.js
foreman_puppet-5.1.0 webpack/src/Extends/Host/PuppetTab/SubTabs/ENCPreview/ENCTab.js
foreman_puppet-4.1.0 webpack/src/Extends/Host/PuppetTab/SubTabs/ENCPreview/ENCTab.js
foreman_puppet-4.0.4 webpack/src/Extends/Host/PuppetTab/SubTabs/ENCPreview/ENCTab.js
foreman_puppet-5.0.0 webpack/src/Extends/Host/PuppetTab/SubTabs/ENCPreview/ENCTab.js
foreman_puppet-4.0.3 webpack/src/Extends/Host/PuppetTab/SubTabs/ENCPreview/ENCTab.js
foreman_puppet-4.0.2 webpack/src/Extends/Host/PuppetTab/SubTabs/ENCPreview/ENCTab.js
foreman_puppet-4.0.1 webpack/src/Extends/Host/PuppetTab/SubTabs/ENCPreview/ENCTab.js