@grafana/ui
Version:
Grafana Components Library
1 lines • 2.51 kB
Source Map (JSON)
{"version":3,"file":"ImageCell.mjs","sources":["../../../../../../src/components/Table/TableNG/Cells/ImageCell.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 { TableCellDisplayMode } from '../../types';\nimport { useSingleLink } from '../hooks';\nimport { ImageCellProps } from '../types';\n\nconst DATALINKS_HEIGHT_OFFSET = 10;\n\nexport const ImageCell = ({ cellOptions, field, height, justifyContent, value, rowIdx }: ImageCellProps) => {\n const calculatedHeight = height - DATALINKS_HEIGHT_OFFSET;\n const styles = useStyles2(getStyles, calculatedHeight, justifyContent);\n\n const { text } = field.display!(value);\n const { alt, title } =\n cellOptions.type === TableCellDisplayMode.Image ? cellOptions : { alt: undefined, title: undefined };\n\n const img = <img alt={alt} src={text} className={styles.image} title={title} />;\n const link = useSingleLink(field, rowIdx);\n\n return <div className={styles.imageContainer}>{link == null ? img : renderSingleLink(link, img)}</div>;\n};\n\nconst getStyles = (theme: GrafanaTheme2, height: number, justifyContent: Property.JustifyContent) => ({\n image: css({\n height,\n width: 'auto',\n }),\n imageContainer: css({\n display: 'flex',\n justifyContent,\n }),\n});\n"],"names":[],"mappings":";;;;;;;AAWA,MAAM,uBAA0B,GAAA,EAAA;AAEnB,MAAA,SAAA,GAAY,CAAC,EAAE,WAAA,EAAa,OAAO,MAAQ,EAAA,cAAA,EAAgB,KAAO,EAAA,MAAA,EAA6B,KAAA;AAC1G,EAAA,MAAM,mBAAmB,MAAS,GAAA,uBAAA;AAClC,EAAA,MAAM,MAAS,GAAA,UAAA,CAAW,SAAW,EAAA,gBAAA,EAAkB,cAAc,CAAA;AAErE,EAAA,MAAM,EAAE,IAAA,EAAS,GAAA,KAAA,CAAM,QAAS,KAAK,CAAA;AACrC,EAAA,MAAM,EAAE,GAAA,EAAK,KAAM,EAAA,GACjB,WAAY,CAAA,IAAA,KAAS,oBAAqB,CAAA,KAAA,GAAQ,WAAc,GAAA,EAAE,GAAK,EAAA,KAAA,CAAA,EAAW,OAAO,KAAU,CAAA,EAAA;AAErG,EAAM,MAAA,GAAA,uBAAO,KAAI,EAAA,EAAA,GAAA,EAAU,KAAK,IAAM,EAAA,SAAA,EAAW,MAAO,CAAA,KAAA,EAAO,KAAc,EAAA,CAAA;AAC7E,EAAM,MAAA,IAAA,GAAO,aAAc,CAAA,KAAA,EAAO,MAAM,CAAA;AAExC,EAAO,uBAAA,GAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAW,MAAO,CAAA,cAAA,EAAiB,QAAQ,EAAA,IAAA,IAAA,IAAA,GAAO,GAAM,GAAA,gBAAA,CAAiB,IAAM,EAAA,GAAG,CAAE,EAAA,CAAA;AAClG;AAEA,MAAM,SAAY,GAAA,CAAC,KAAsB,EAAA,MAAA,EAAgB,cAA6C,MAAA;AAAA,EACpG,OAAO,GAAI,CAAA;AAAA,IACT,MAAA;AAAA,IACA,KAAO,EAAA;AAAA,GACR,CAAA;AAAA,EACD,gBAAgB,GAAI,CAAA;AAAA,IAClB,OAAS,EAAA,MAAA;AAAA,IACT;AAAA,GACD;AACH,CAAA,CAAA;;;;"}