1234567891011121314151617181920212223242526272829303132333435363738394041 |
- import React, { FC, useMemo } from 'react';
- import { IconButton } from '@grafana/ui';
- import { NetworkGraphModal } from './NetworkGraphModal';
- import { UsagesToNetwork } from './utils';
- interface Props {
- id: string;
- usages: UsagesToNetwork[];
- }
- export const VariablesUnknownButton: FC<Props> = ({ id, usages }) => {
- const network = useMemo(() => usages.find((n) => n.variable.id === id), [id, usages]);
- if (!network) {
- return null;
- }
- const nodes = network.nodes.map((n) => {
- if (n.label.includes(`$${id}`)) {
- return { ...n, color: '#FB7E81' };
- }
- return n;
- });
- return (
- <NetworkGraphModal show={false} title={`Showing usages for: $${id}`} nodes={nodes} edges={network.edges}>
- {({ showModal }) => {
- return (
- <IconButton
- onClick={() => showModal()}
- name="code-branch"
- title="Show usages"
- data-testid="VariablesUnknownButton"
- />
- );
- }}
- </NetworkGraphModal>
- );
- };
|