@grafana/ui
Version:
Grafana Components Library
1 lines • 2.3 kB
Source Map (JSON)
{"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,gBAAA,GAAmB;AAOzB,SAAS,UAAA,CACd,OAAA,EACA,aAAA,GAAgB,KAAA,EACU;AAC1B,EAAA,OAAO;AAAA,IACL;AAAA,MACE,EAAA,EAAI,gBAAA;AAAA,MACJ,IAAA,EAAM,YAAA;AAAA,MACN,GAAI,aAAA,IAAiB;AAAA,QACnB,MAAA,EAAQ;AAAA,OACV;AAAA,MACA,aAAA,EAAe,IAAA;AAAA,MACf,KAAA,EAAO;AAAA,KACT;AAAA;AAAA;AAAA;AAAA,IAIA,GAAG,OAAA,CAAQ,GAAA,CAAI,CAAC,MAAA,MAAY;AAAA,MAC1B,IAAI,MAAA,CAAO,EAAA;AAAA,MACX,UAAU,MAAA,CAAO,EAAA;AAAA,MACjB,MAAA,EAAQ,MAAA,CAAO,MAAA,KAAW,MAAM,IAAA,CAAA;AAAA,MAChC,QAAA,EAAU,OAAO,QAAA,IAAY,cAAA;AAAA,MAC7B,aAAA,EAAe,CAAC,OAAA,CAAQ,MAAA,CAAO,QAAQ,CAAA;AAAA,MACvC,KAAA,EAAO,MAAA,CAAO,WAAA,GAAc,CAAA,GAAI,KAAA,CAAA;AAAA,MAChC,SAAS,MAAA,CAAO,OAAA;AAAA,MAChB,GAAI,MAAA,CAAO,IAAA,IAAQ,EAAE,IAAA,EAAM,OAAO,IAAA;AAAK,KACzC,CAAE;AAAA,GACJ;AACF;;;;"}