frameVariables.tsx 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import {getMeta} from 'sentry/components/events/meta/metaProxy';
  2. import {KeyValueListData} from 'sentry/types';
  3. import KeyValueList from '../keyValueList';
  4. type Props = {
  5. data: Record<string, string>;
  6. };
  7. const FrameVariables = ({data}: Props) => {
  8. // make sure that clicking on the variables does not actually do
  9. // anything on the containing element.
  10. const handlePreventToggling = () => (event: React.MouseEvent<HTMLTableElement>) => {
  11. event.stopPropagation();
  12. };
  13. const getTransformedData = (): KeyValueListData => {
  14. const transformedData: KeyValueListData = [];
  15. const dataKeys = Object.keys(data).reverse();
  16. for (const key of dataKeys) {
  17. transformedData.push({
  18. key,
  19. subject: key,
  20. value: data[key],
  21. meta: getMeta(data, key),
  22. });
  23. }
  24. return transformedData;
  25. };
  26. const transformedData = getTransformedData();
  27. return (
  28. <KeyValueList data={transformedData} onClick={handlePreventToggling} isContextData />
  29. );
  30. };
  31. export default FrameVariables;