diff --git a/test-result-summary-client/package-lock.json b/test-result-summary-client/package-lock.json index 20a1e9c9..22fe2e57 100644 --- a/test-result-summary-client/package-lock.json +++ b/test-result-summary-client/package-lock.json @@ -24,6 +24,7 @@ "qs": "^6.11.1", "react": "^18.2.0", "react-app-rewired": "^2.2.1", + "react-copy-to-clipboard": "^5.1.0", "react-day-picker": "^7.4.10", "react-dom": "^18.2.0", "react-grid-layout": "^0.16.6", @@ -15944,6 +15945,18 @@ "react-scripts": ">=2.1.3" } }, + "node_modules/react-copy-to-clipboard": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/react-copy-to-clipboard/-/react-copy-to-clipboard-5.1.0.tgz", + "integrity": "sha512-k61RsNgAayIJNoy9yDsYzDe/yAZAzEbEgcz3DZMhF686LEyukcE1hzurxe85JandPUG+yTfGVFzuEw3xt8WP/A==", + "dependencies": { + "copy-to-clipboard": "^3.3.1", + "prop-types": "^15.8.1" + }, + "peerDependencies": { + "react": "^15.3.0 || 16 || 17 || 18" + } + }, "node_modules/react-day-picker": { "version": "7.4.10", "resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-7.4.10.tgz", @@ -31142,6 +31155,15 @@ "semver": "^5.6.0" } }, + "react-copy-to-clipboard": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/react-copy-to-clipboard/-/react-copy-to-clipboard-5.1.0.tgz", + "integrity": "sha512-k61RsNgAayIJNoy9yDsYzDe/yAZAzEbEgcz3DZMhF686LEyukcE1hzurxe85JandPUG+yTfGVFzuEw3xt8WP/A==", + "requires": { + "copy-to-clipboard": "^3.3.1", + "prop-types": "^15.8.1" + } + }, "react-day-picker": { "version": "7.4.10", "resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-7.4.10.tgz", diff --git a/test-result-summary-client/package.json b/test-result-summary-client/package.json index 0c766918..a61640d0 100644 --- a/test-result-summary-client/package.json +++ b/test-result-summary-client/package.json @@ -19,6 +19,7 @@ "qs": "^6.11.1", "react": "^18.2.0", "react-app-rewired": "^2.2.1", + "react-copy-to-clipboard": "^5.1.0", "react-day-picker": "^7.4.10", "react-dom": "^18.2.0", "react-grid-layout": "^0.16.6", diff --git a/test-result-summary-client/src/Build/GitNewIssue.jsx b/test-result-summary-client/src/Build/GitNewIssue.jsx index ec905442..17df25ca 100644 --- a/test-result-summary-client/src/Build/GitNewIssue.jsx +++ b/test-result-summary-client/src/Build/GitNewIssue.jsx @@ -1,19 +1,15 @@ import React, { useEffect, useState } from 'react'; import { useLocation } from 'react-router-dom'; import { params } from '../utils/query'; -import { Button, Tooltip, Card } from 'antd'; +import { Button, Tooltip, Card, Space } from 'antd'; import TestBreadcrumb from './TestBreadcrumb'; -import { GithubOutlined } from '@ant-design/icons'; +import { GithubOutlined, CopyOutlined } from '@ant-design/icons'; import { getParams } from '../utils/query'; import { fetchData } from '../utils/Utils'; -import renderDuration from './Duration'; -import { getGitDiffLinks } from '../utils/Utils'; +import { CopyToClipboard } from 'react-copy-to-clipboard'; import './table.css'; -import moment from 'moment'; -const DAY_FORMAT = 'MMM DD YYYY, hh:mm a'; - const GitNewissue = () => { const [state, setState] = useState({ body: '', @@ -24,7 +20,6 @@ const GitNewissue = () => { useEffect(() => { async function updateData() { const { testId, buildId } = getParams(location.search); - const originUrl = window.location.origin; // fetch build data const buildDataRes = fetchData(`/api/getData?_id=${buildId}`); // fetch test data @@ -115,18 +110,28 @@ const GitNewissue = () => { bordered={true} style={{ width: '100%' }} extra={ - - - - - +
+ + + + + + + + + + +
} >
{body}