UNPKG

@grafana/ui

Version:
1 lines 2.3 kB
{"version":3,"file":"utils.mjs","sources":["../../../../src/components/InteractiveTable/utils.ts"],"sourcesContent":["import { Column as RTColumn } from 'react-table';\n\nimport { ExpanderCell, ExpanderHeader } from './Expander';\nimport { Column } from './types';\n\nexport const EXPANDER_CELL_ID = '__expander' as const;\n\ntype InternalColumn<T extends object> = RTColumn<T> & {\n visible?: (data: T[]) => boolean;\n};\n\n// Returns the columns in a \"react-table\" acceptable format\nexport function getColumns<K extends object>(\n columns: Array<Column<K>>,\n showExpandAll = false\n): Array<InternalColumn<K>> {\n return [\n {\n id: EXPANDER_CELL_ID,\n Cell: ExpanderCell,\n ...(showExpandAll && {\n Header: ExpanderHeader,\n }),\n disableSortBy: true,\n width: 0,\n },\n // @ts-expect-error react-table expects each column key(id) to have data associated with it and therefore complains about\n // column.id being possibly undefined and not keyof T (where T is the data object)\n // We do not want to be that strict as we simply pass undefined to cells that do not have data associated with them.\n ...columns.map((column) => ({\n id: column.id,\n accessor: column.id,\n Header: column.header || (() => null),\n sortType: column.sortType || 'alphanumeric',\n disableSortBy: !Boolean(column.sortType),\n width: column.disableGrow ? 0 : undefined,\n visible: column.visible,\n ...(column.cell && { Cell: column.cell }),\n })),\n ];\n}\n"],"names":[],"mappings":";;AAKO,MAAM,gBAAmB,GAAA;AAOhB,SAAA,UAAA,CACd,OACA,EAAA,aAAA,GAAgB,KACU,EAAA;AAC1B,EAAO,OAAA;AAAA,IACL;AAAA,MACE,EAAI,EAAA,gBAAA;AAAA,MACJ,IAAM,EAAA,YAAA;AAAA,MACN,GAAI,aAAiB,IAAA;AAAA,QACnB,MAAQ,EAAA;AAAA,OACV;AAAA,MACA,aAAe,EAAA,IAAA;AAAA,MACf,KAAO,EAAA;AAAA,KACT;AAAA;AAAA;AAAA;AAAA,IAIA,GAAG,OAAA,CAAQ,GAAI,CAAA,CAAC,MAAY,MAAA;AAAA,MAC1B,IAAI,MAAO,CAAA,EAAA;AAAA,MACX,UAAU,MAAO,CAAA,EAAA;AAAA,MACjB,MAAA,EAAQ,MAAO,CAAA,MAAA,KAAW,MAAM,IAAA,CAAA;AAAA,MAChC,QAAA,EAAU,OAAO,QAAY,IAAA,cAAA;AAAA,MAC7B,aAAe,EAAA,CAAC,OAAQ,CAAA,MAAA,CAAO,QAAQ,CAAA;AAAA,MACvC,KAAA,EAAO,MAAO,CAAA,WAAA,GAAc,CAAI,GAAA,KAAA,CAAA;AAAA,MAChC,SAAS,MAAO,CAAA,OAAA;AAAA,MAChB,GAAI,MAAO,CAAA,IAAA,IAAQ,EAAE,IAAA,EAAM,OAAO,IAAK;AAAA,KACvC,CAAA;AAAA,GACJ;AACF;;;;"}