@grafana/ui
Version:
Grafana Components Library
1 lines • 2.59 kB
Source Map (JSON)
{"version":3,"file":"JSONCell.mjs","sources":["../../../../../../src/components/Table/TableNG/Cells/JSONCell.tsx"],"sourcesContent":["import { css } from '@emotion/css';\nimport { Property } from 'csstype';\n\nimport { GrafanaTheme2 } from '@grafana/data';\n\nimport { useStyles2 } from '../../../../themes/ThemeContext';\nimport { renderSingleLink } from '../../DataLinksActionsTooltip';\nimport { useSingleLink } from '../hooks';\nimport { JSONCellProps } from '../types';\n\nexport const JSONCell = ({ value, justifyContent, field, rowIdx }: JSONCellProps) => {\n const styles = useStyles2(getStyles, justifyContent);\n\n let displayValue = value;\n\n // Handle string values that might be JSON\n if (typeof value === 'string') {\n try {\n const parsed = JSON.parse(value);\n displayValue = JSON.stringify(parsed, null, ' ');\n } catch {\n displayValue = value; // Keep original if not valid JSON\n }\n } else {\n // For non-string values, stringify them\n try {\n displayValue = JSON.stringify(value, null, ' ');\n } catch (error) {\n // Handle circular references or other stringify errors\n displayValue = String(value);\n }\n }\n\n const link = useSingleLink(field, rowIdx);\n\n return <div className={styles.jsonText}>{link == null ? displayValue : renderSingleLink(link, displayValue)}</div>;\n};\n\nconst getStyles = (theme: GrafanaTheme2, justifyContent: Property.JustifyContent) => ({\n jsonText: css({\n display: 'flex',\n cursor: 'pointer',\n fontFamily: 'monospace',\n justifyContent: justifyContent,\n }),\n});\n"],"names":[],"mappings":";;;;;;AAUO,MAAM,WAAW,CAAC,EAAE,OAAO,cAAgB,EAAA,KAAA,EAAO,QAA4B,KAAA;AACnF,EAAM,MAAA,MAAA,GAAS,UAAW,CAAA,SAAA,EAAW,cAAc,CAAA;AAEnD,EAAA,IAAI,YAAe,GAAA,KAAA;AAGnB,EAAI,IAAA,OAAO,UAAU,QAAU,EAAA;AAC7B,IAAI,IAAA;AACF,MAAM,MAAA,MAAA,GAAS,IAAK,CAAA,KAAA,CAAM,KAAK,CAAA;AAC/B,MAAA,YAAA,GAAe,IAAK,CAAA,SAAA,CAAU,MAAQ,EAAA,IAAA,EAAM,GAAG,CAAA;AAAA,KACzC,CAAA,OAAA,CAAA,EAAA;AACN,MAAe,YAAA,GAAA,KAAA;AAAA;AACjB,GACK,MAAA;AAEL,IAAI,IAAA;AACF,MAAA,YAAA,GAAe,IAAK,CAAA,SAAA,CAAU,KAAO,EAAA,IAAA,EAAM,GAAG,CAAA;AAAA,aACvC,KAAO,EAAA;AAEd,MAAA,YAAA,GAAe,OAAO,KAAK,CAAA;AAAA;AAC7B;AAGF,EAAM,MAAA,IAAA,GAAO,aAAc,CAAA,KAAA,EAAO,MAAM,CAAA;AAExC,EAAO,uBAAA,GAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAW,MAAO,CAAA,QAAA,EAAW,QAAQ,EAAA,IAAA,IAAA,IAAA,GAAO,YAAe,GAAA,gBAAA,CAAiB,IAAM,EAAA,YAAY,CAAE,EAAA,CAAA;AAC9G;AAEA,MAAM,SAAA,GAAY,CAAC,KAAA,EAAsB,cAA6C,MAAA;AAAA,EACpF,UAAU,GAAI,CAAA;AAAA,IACZ,OAAS,EAAA,MAAA;AAAA,IACT,MAAQ,EAAA,SAAA;AAAA,IACR,UAAY,EAAA,WAAA;AAAA,IACZ;AAAA,GACD;AACH,CAAA,CAAA;;;;"}