diff --git a/packages/ui/src/ui/pages/query-tracker/QueryMetaTable/index.tsx b/packages/ui/src/ui/pages/query-tracker/QueryMetaTable/index.tsx index 6f539b3a40..5311041158 100644 --- a/packages/ui/src/ui/pages/query-tracker/QueryMetaTable/index.tsx +++ b/packages/ui/src/ui/pages/query-tracker/QueryMetaTable/index.tsx @@ -7,6 +7,7 @@ import {QueryItem} from '../module/api'; import {Button} from '@gravity-ui/uikit'; import Yson from '../../../components/Yson/Yson'; import SimpleModal from '../../../components/Modal/SimpleModal'; +import ClipboardButton from '../../../components/ClipboardButton/ClipboardButton'; interface MetaTableProps { query: QueryItem; @@ -21,6 +22,7 @@ const valueClassName = b('value'); type QueryMetaItem = { title: string; value: string | number | boolean; + showCopy: boolean; }; const exceptFields: (keyof QueryItem | 'access_control_object')[] = [ @@ -28,6 +30,8 @@ const exceptFields: (keyof QueryItem | 'access_control_object')[] = [ 'access_control_object', ]; +const FIELD_WITH_COPY_BUTTON = 'id'; + export default function QueryMetaTable({query, className}: MetaTableProps) { const [selectedOption, setSelectedOption] = useState | null>(null); const [modalOpened, setModalOpened] = useState(false); @@ -58,6 +62,7 @@ export default function QueryMetaTable({query, className}: MetaTableProps) { return { title, value: finalValue, + showCopy: FIELD_WITH_COPY_BUTTON === title, }; }); }, [query]); @@ -73,6 +78,13 @@ export default function QueryMetaTable({query, className}: MetaTableProps) { {valueItems.map((value, index) => (
{typeof value === 'boolean' ? String(value) : value} + {item.showCopy && ( + + )}
))}