fix: copy to clipboard not copying complete value in case of numbers (#5770)

This commit is contained in:
Yunus M 2024-08-26 16:48:07 +05:30 committed by GitHub
parent 9f481aacff
commit 6fb2a6d4c9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 16 additions and 9 deletions

View File

@ -3,14 +3,14 @@
display: flex; display: flex;
align-items: center; align-items: center;
&.small { &.small {
height: 16px; line-height: 16px;
} }
&.medium { &.medium {
height: 20px; line-height: 20px;
} }
&.large { &.large {
height: 24px; line-height: 24px;
} }
} }

View File

@ -4,6 +4,7 @@ import { ReactNode, useCallback, useEffect } from 'react';
import { useCopyToClipboard } from 'react-use'; import { useCopyToClipboard } from 'react-use';
function CopyClipboardHOC({ function CopyClipboardHOC({
entityKey,
textToCopy, textToCopy,
children, children,
}: CopyClipboardHOCProps): JSX.Element { }: CopyClipboardHOCProps): JSX.Element {
@ -11,11 +12,15 @@ function CopyClipboardHOC({
const { notifications } = useNotifications(); const { notifications } = useNotifications();
useEffect(() => { useEffect(() => {
if (value.value) { if (value.value) {
const key = entityKey || '';
const notificationMessage = `${key} copied to clipboard`;
notifications.success({ notifications.success({
message: 'Copied to clipboard', message: notificationMessage,
}); });
} }
}, [value, notifications]); }, [value, notifications, entityKey]);
const onClick = useCallback((): void => { const onClick = useCallback((): void => {
setCopy(textToCopy); setCopy(textToCopy);
@ -34,6 +39,7 @@ function CopyClipboardHOC({
} }
interface CopyClipboardHOCProps { interface CopyClipboardHOCProps {
entityKey: string | undefined;
textToCopy: string; textToCopy: string;
children: ReactNode; children: ReactNode;
} }

View File

@ -18,6 +18,7 @@
.tags { .tags {
display: flex; display: flex;
gap: 8; flex-wrap: wrap;
gap: 8px;
} }
} }

View File

@ -67,7 +67,7 @@ export function TableViewActions(
); );
const [isOpen, setIsOpen] = useState<boolean>(false); const [isOpen, setIsOpen] = useState<boolean>(false);
const textToCopy = fieldData.value.slice(1, -1); const textToCopy = fieldData.value;
if (record.field === 'body') { if (record.field === 'body') {
const parsedBody = recursiveParseJSON(fieldData.value); const parsedBody = recursiveParseJSON(fieldData.value);
@ -93,7 +93,7 @@ export function TableViewActions(
return ( return (
<div className={cx('value-field', isOpen ? 'open-popover' : '')}> <div className={cx('value-field', isOpen ? 'open-popover' : '')}>
{record.field === 'body' ? ( {record.field === 'body' ? (
<CopyClipboardHOC textToCopy={textToCopy}> <CopyClipboardHOC entityKey={fieldFilterKey} textToCopy={textToCopy}>
<span <span
style={{ style={{
color: Color.BG_SIENNA_400, color: Color.BG_SIENNA_400,
@ -104,7 +104,7 @@ export function TableViewActions(
/> />
</CopyClipboardHOC> </CopyClipboardHOC>
) : ( ) : (
<CopyClipboardHOC textToCopy={textToCopy}> <CopyClipboardHOC entityKey={fieldFilterKey} textToCopy={textToCopy}>
<span <span
style={{ style={{
color: Color.BG_SIENNA_400, color: Color.BG_SIENNA_400,