@tanstack/table-core 8.0.0-alpha.53 → 8.0.0-alpha.57
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/core.js +9 -384
- package/build/cjs/core.js.map +1 -1
- package/build/cjs/createTable.js.map +1 -1
- package/build/cjs/features/Cells.js +122 -0
- package/build/cjs/features/Cells.js.map +1 -0
- package/build/cjs/features/ColumnSizing.js +90 -37
- package/build/cjs/features/ColumnSizing.js.map +1 -1
- package/build/cjs/features/Columns.js +216 -0
- package/build/cjs/features/Columns.js.map +1 -0
- package/build/cjs/features/Expanding.js +1 -1
- package/build/cjs/features/Expanding.js.map +1 -1
- package/build/cjs/features/Filters.js +1 -1
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Grouping.js +1 -1
- package/build/cjs/features/Grouping.js.map +1 -1
- package/build/cjs/features/Headers.js +78 -153
- package/build/cjs/features/Headers.js.map +1 -1
- package/build/cjs/features/Ordering.js +2 -2
- package/build/cjs/features/Ordering.js.map +1 -1
- package/build/cjs/features/Pagination.js +1 -1
- package/build/cjs/features/Pagination.js.map +1 -1
- package/build/cjs/features/Pinning.js +172 -2
- package/build/cjs/features/Pinning.js.map +1 -1
- package/build/cjs/features/RowSelection.js +1 -1
- package/build/cjs/features/RowSelection.js.map +1 -1
- package/build/cjs/features/Rows.js +99 -0
- package/build/cjs/features/Rows.js.map +1 -0
- package/build/cjs/features/Sorting.js +1 -1
- package/build/cjs/features/Sorting.js.map +1 -1
- package/build/cjs/features/Visibility.js +51 -17
- package/build/cjs/features/Visibility.js.map +1 -1
- package/build/cjs/filterFns.js.map +1 -1
- package/build/cjs/sortingFns.js.map +1 -1
- package/build/cjs/utils/filterRowsUtils.js.map +1 -1
- package/build/cjs/utils/getColumnFilteredRowModelSync.js.map +1 -1
- package/build/cjs/utils/getCoreRowModelAsync.js.map +1 -1
- package/build/cjs/utils/getCoreRowModelSync.js.map +1 -1
- package/build/cjs/utils/getExpandedRowModel.js.map +1 -1
- package/build/cjs/utils/getGlobalFilteredRowModelSync.js.map +1 -1
- package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
- package/build/cjs/utils/getPaginationRowModel.js.map +1 -1
- package/build/cjs/utils/getSortedRowModelSync.js.map +1 -1
- package/build/cjs/utils.js +2 -2
- package/build/cjs/utils.js.map +1 -1
- package/build/esm/index.js +879 -693
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +420 -318
- package/build/types/core.d.ts +5 -82
- package/build/types/createTable.d.ts +4 -4
- package/build/types/features/Cells.d.ts +14 -0
- package/build/types/features/ColumnSizing.d.ts +31 -23
- package/build/types/features/Columns.d.ts +54 -0
- package/build/types/features/Expanding.d.ts +6 -6
- package/build/types/features/Filters.d.ts +14 -14
- package/build/types/features/Grouping.d.ts +16 -16
- package/build/types/features/Headers.d.ts +5 -13
- package/build/types/features/Ordering.d.ts +5 -5
- package/build/types/features/Pagination.d.ts +5 -5
- package/build/types/features/Pinning.d.ts +21 -7
- package/build/types/features/RowSelection.d.ts +8 -8
- package/build/types/features/Rows.d.ts +29 -0
- package/build/types/features/Sorting.d.ts +12 -12
- package/build/types/features/Visibility.d.ts +11 -6
- package/build/types/filterFns.d.ts +10 -10
- package/build/types/sortingFns.d.ts +7 -7
- package/build/types/types.d.ts +37 -33
- package/build/types/utils/filterRowsUtils.d.ts +3 -3
- package/build/types/utils/getColumnFilteredRowModelAsync.d.ts +2 -2
- package/build/types/utils/getColumnFilteredRowModelSync.d.ts +2 -2
- package/build/types/utils/getCoreRowModelAsync.d.ts +2 -2
- package/build/types/utils/getCoreRowModelSync.d.ts +2 -2
- package/build/types/utils/getExpandedRowModel.d.ts +3 -3
- package/build/types/utils/getGlobalFilteredRowModelAsync.d.ts +2 -2
- package/build/types/utils/getGlobalFilteredRowModelSync.d.ts +2 -2
- package/build/types/utils/getGroupedRowModel.d.ts +2 -2
- package/build/types/utils/getPaginationRowModel.d.ts +2 -2
- package/build/types/utils/getSortedRowModelAsync.d.ts +4 -4
- package/build/types/utils/getSortedRowModelSync.d.ts +2 -2
- package/build/types/utils.d.ts +0 -1
- package/build/umd/index.development.js +857 -671
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +1 -1
- package/build/umd/index.production.js.map +1 -1
- package/package.json +1 -1
- package/src/core.ts +32 -554
- package/src/createTable.ts +12 -5
- package/src/features/Cells.ts +156 -0
- package/src/features/ColumnSizing.ts +109 -58
- package/src/features/Columns.ts +290 -0
- package/src/features/Expanding.ts +6 -7
- package/src/features/Filters.ts +14 -15
- package/src/features/Grouping.ts +16 -17
- package/src/features/Headers.ts +51 -142
- package/src/features/Ordering.ts +8 -7
- package/src/features/Pagination.ts +5 -6
- package/src/features/Pinning.ts +198 -8
- package/src/features/RowSelection.ts +9 -10
- package/src/features/Rows.ts +151 -0
- package/src/features/Sorting.ts +12 -13
- package/src/features/Visibility.ts +73 -27
- package/src/filterFns.ts +10 -10
- package/src/sortingFns.ts +7 -7
- package/src/types.ts +47 -65
- package/src/utils/filterRowsUtils.ts +3 -3
- package/src/utils/getColumnFilteredRowModelAsync.ts +2 -2
- package/src/utils/getColumnFilteredRowModelSync.ts +2 -2
- package/src/utils/getCoreRowModelAsync.ts +2 -2
- package/src/utils/getCoreRowModelSync.ts +2 -2
- package/src/utils/getExpandedRowModel.ts +3 -3
- package/src/utils/getGlobalFilteredRowModelAsync.ts +2 -2
- package/src/utils/getGlobalFilteredRowModelSync.ts +2 -2
- package/src/utils/getGroupedRowModel.ts +3 -3
- package/src/utils/getPaginationRowModel.ts +2 -2
- package/src/utils/getSortedRowModelAsync.ts +4 -4
- package/src/utils/getSortedRowModelSync.ts +2 -2
- package/src/utils.ts +3 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Headers.js","sources":["../../../src/features/Headers.ts"],"sourcesContent":["import {\n Cell,\n Column,\n CoreHeader,\n FooterGroupProps,\n FooterProps,\n Getter,\n Header,\n HeaderGroup,\n HeaderGroupProps,\n HeaderProps,\n AnyGenerics,\n PartialGenerics,\n PropGetterValue,\n TableInstance,\n Row,\n} from '../types'\nimport { propGetter, memo } from '../utils'\nimport { ColumnSizing } from './ColumnSizing'\n\nexport type HeadersRow<TGenerics extends AnyGenerics> = {\n _getAllVisibleCells: () => Cell<TGenerics>[]\n getVisibleCells: () => Cell<TGenerics>[]\n getLeftVisibleCells: () => Cell<TGenerics>[]\n getCenterVisibleCells: () => Cell<TGenerics>[]\n getRightVisibleCells: () => Cell<TGenerics>[]\n}\n\nexport type HeadersInstance<TGenerics extends AnyGenerics> = {\n createHeader: (\n column: Column<TGenerics>,\n options: {\n id?: string\n isPlaceholder?: boolean\n placeholderId?: string\n depth: number\n }\n ) => Header<TGenerics>\n getHeaderGroups: () => HeaderGroup<TGenerics>[]\n getLeftHeaderGroups: () => HeaderGroup<TGenerics>[]\n getCenterHeaderGroups: () => HeaderGroup<TGenerics>[]\n getRightHeaderGroups: () => HeaderGroup<TGenerics>[]\n\n getFooterGroups: () => HeaderGroup<TGenerics>[]\n getLeftFooterGroups: () => HeaderGroup<TGenerics>[]\n getCenterFooterGroups: () => HeaderGroup<TGenerics>[]\n getRightFooterGroups: () => HeaderGroup<TGenerics>[]\n\n getFlatHeaders: () => Header<TGenerics>[]\n getLeftFlatHeaders: () => Header<TGenerics>[]\n getCenterFlatHeaders: () => Header<TGenerics>[]\n getRightFlatHeaders: () => Header<TGenerics>[]\n\n getLeafHeaders: () => Header<TGenerics>[]\n getLeftLeafHeaders: () => Header<TGenerics>[]\n getCenterLeafHeaders: () => Header<TGenerics>[]\n getRightLeafHeaders: () => Header<TGenerics>[]\n\n getHeader: (id: string) => Header<TGenerics>\n\n getHeaderGroupProps: <TGetter extends Getter<HeaderGroupProps>>(\n id: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<HeaderGroupProps, TGetter>\n getFooterGroupProps: <TGetter extends Getter<FooterGroupProps>>(\n id: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<FooterGroupProps, TGetter>\n getHeaderProps: <TGetter extends Getter<HeaderProps>>(\n headerId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<HeaderProps, TGetter>\n getFooterProps: <TGetter extends Getter<FooterProps>>(\n headerId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<FooterProps, TGetter>\n getTotalWidth: () => number\n}\n\n//\n\nexport const Headers = {\n createRow: <TGenerics extends AnyGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): HeadersRow<TGenerics> => {\n return {\n _getAllVisibleCells: memo(\n () => [\n row\n .getAllCells()\n .filter(cell => cell.column.getIsVisible())\n .map(d => d.id)\n .join('_'),\n ],\n _ => {\n return row.getAllCells().filter(cell => cell.column.getIsVisible())\n },\n {\n key: 'row._getAllVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n getVisibleCells: memo(\n () => [\n row.getLeftVisibleCells(),\n row.getCenterVisibleCells(),\n row.getRightVisibleCells(),\n ],\n (left, center, right) => [...left, ...center, ...right],\n {\n key: 'row.getVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n getCenterVisibleCells: memo(\n () => [\n row._getAllVisibleCells(),\n instance.getState().columnPinning.left,\n instance.getState().columnPinning.right,\n ],\n (allCells, left, right) => {\n const leftAndRight = [...(left ?? []), ...(right ?? [])]\n\n return allCells.filter(d => !leftAndRight.includes(d.columnId))\n },\n {\n key: 'row.getCenterVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n getLeftVisibleCells: memo(\n () => [\n row._getAllVisibleCells(),\n instance.getState().columnPinning.left,\n ,\n ],\n (allCells, left) => {\n const cells = (left ?? [])\n .map(columnId => allCells.find(cell => cell.columnId === columnId)!)\n .filter(Boolean)\n\n return cells\n },\n {\n key: 'row.getLeftVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n getRightVisibleCells: memo(\n () => [\n row._getAllVisibleCells(),\n instance.getState().columnPinning.right,\n ],\n (allCells, right) => {\n const cells = (right ?? [])\n .map(columnId => allCells.find(cell => cell.columnId === columnId)!)\n .filter(Boolean)\n\n return cells\n },\n {\n key: 'row.getRightVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n }\n },\n\n getInstance: <TGenerics extends AnyGenerics>(\n instance: TableInstance<TGenerics>\n ): HeadersInstance<TGenerics> => {\n return {\n createHeader: (\n column: Column<TGenerics>,\n options: {\n id?: string\n isPlaceholder?: boolean\n placeholderId?: string\n depth: number\n }\n ) => {\n const id = options.id ?? column.id\n\n let header: CoreHeader<TGenerics> = {\n id,\n column,\n isPlaceholder: options.isPlaceholder,\n placeholderId: options.placeholderId,\n depth: options.depth,\n subHeaders: [],\n colSpan: 0,\n rowSpan: 0,\n getWidth: () => {\n let sum = 0\n\n const recurse = (header: CoreHeader<TGenerics>) => {\n if (header.subHeaders.length) {\n header.subHeaders.forEach(recurse)\n } else {\n sum += header.column.getWidth() ?? 0\n }\n }\n\n recurse(header)\n\n return sum\n },\n getLeafHeaders: (): Header<TGenerics>[] => {\n const leafHeaders: CoreHeader<TGenerics>[] = []\n\n const recurseHeader = (h: CoreHeader<TGenerics>) => {\n if (h.subHeaders && h.subHeaders.length) {\n h.subHeaders.map(recurseHeader)\n }\n leafHeaders.push(h)\n }\n\n recurseHeader(header)\n\n return leafHeaders as Header<TGenerics>[]\n },\n getHeaderProps: userProps =>\n instance.getHeaderProps(header.id, userProps)!,\n getFooterProps: userProps =>\n instance.getFooterProps(header.id, userProps)!,\n renderHeader: () =>\n column.header\n ? instance.render(column.header, {\n instance,\n header: header as Header<TGenerics>,\n column,\n })\n : null,\n renderFooter: () =>\n column.footer\n ? instance.render(column.footer, {\n instance,\n header: header as Header<TGenerics>,\n column,\n })\n : null,\n }\n\n // Yes, we have to convert instance to unknown, because we know more than the compiler here.\n return Object.assign(\n header,\n ColumnSizing.createHeader(header as Header<TGenerics>, instance)\n ) as Header<TGenerics>\n },\n\n // Header Groups\n\n getHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.getState().columnPinning.left,\n instance.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, left, right) => {\n const leftColumns = leafColumns.filter(column =>\n left?.includes(column.id)\n )\n const rightColumns = leafColumns.filter(column =>\n right?.includes(column.id)\n )\n const centerColumns = leafColumns.filter(\n column => !left?.includes(column.id) && !right?.includes(column.id)\n )\n const headerGroups = buildHeaderGroups(\n allColumns,\n [...leftColumns, ...centerColumns, ...rightColumns],\n instance\n )\n\n return headerGroups\n },\n {\n key: 'getHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getCenterHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.getState().columnPinning.left,\n instance.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, left, right) => {\n leafColumns = leafColumns.filter(\n column => !left?.includes(column.id) && !right?.includes(column.id)\n )\n return buildHeaderGroups(allColumns, leafColumns, instance, 'center')\n },\n {\n key: 'getCenterHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.getState().columnPinning.left,\n ],\n (allColumns, leafColumns, left) => {\n leafColumns = leafColumns.filter(column => left?.includes(column.id))\n return buildHeaderGroups(allColumns, leafColumns, instance, 'left')\n },\n {\n key: 'getLeftHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, right) => {\n leafColumns = leafColumns.filter(column => right?.includes(column.id))\n return buildHeaderGroups(allColumns, leafColumns, instance, 'right')\n },\n {\n key: 'getRightHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n // Footer Groups\n\n getFooterGroups: memo(\n () => [instance.getHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: 'getFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftFooterGroups: memo(\n () => [instance.getLeftHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: 'getLeftFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getCenterFooterGroups: memo(\n () => [instance.getCenterHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: 'getCenterFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightFooterGroups: memo(\n () => [instance.getRightHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: 'getRightFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n // Flat Headers\n\n getFlatHeaders: memo(\n () => [instance.getHeaderGroups()],\n headerGroups => {\n return headerGroups\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: 'getFlatHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftFlatHeaders: memo(\n () => [instance.getLeftHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: 'getLeftFlatHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getCenterFlatHeaders: memo(\n () => [instance.getCenterHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: 'getCenterFlatHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightFlatHeaders: memo(\n () => [instance.getRightHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: 'getRightFlatHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n // Leaf Headers\n\n getCenterLeafHeaders: memo(\n () => [instance.getCenterFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: 'getCenterLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftLeafHeaders: memo(\n () => [instance.getLeftFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: 'getLeftLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightLeafHeaders: memo(\n () => [instance.getRightFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: 'getRightLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeafHeaders: memo(\n () => [\n instance.getLeftHeaderGroups(),\n instance.getCenterHeaderGroups(),\n instance.getRightHeaderGroups(),\n ],\n (left, center, right) => {\n return [\n ...(left[0]?.headers ?? []),\n ...(center[0]?.headers ?? []),\n ...(right[0]?.headers ?? []),\n ]\n .map(header => {\n return header.getLeafHeaders()\n })\n .flat()\n },\n {\n key: 'getLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getHeader: (id: string) => {\n const header = [\n ...instance.getFlatHeaders(),\n ...instance.getCenterFlatHeaders(),\n ...instance.getLeftFlatHeaders(),\n ...instance.getRightFlatHeaders(),\n ].find(d => d.id === id)\n\n if (!header) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Could not find header with id: ${id}`)\n }\n throw new Error()\n }\n\n return header\n },\n\n getHeaderGroupProps: (id, userProps) => {\n const headerGroup = instance.getHeaderGroups().find(d => d.id === id)\n\n if (!headerGroup) {\n return\n }\n\n return propGetter(\n {\n key: headerGroup.id,\n role: 'row',\n },\n userProps\n )\n },\n\n getFooterGroupProps: (id, userProps) => {\n const headerGroup = instance.getFooterGroups().find(d => d.id === id)\n\n if (!headerGroup) {\n return\n }\n\n const initialProps = {\n key: headerGroup.id,\n role: 'row',\n }\n\n return propGetter(initialProps, userProps)\n },\n\n getHeaderProps: (id, userProps) => {\n const header = instance.getHeader(id)\n\n if (!header) {\n throw new Error()\n }\n\n const initialProps: HeaderProps = {\n key: header.id,\n role: 'columnheader',\n colSpan: header.colSpan,\n rowSpan: header.rowSpan,\n }\n\n return propGetter(initialProps, userProps)\n },\n\n getFooterProps: (id, userProps) => {\n const header = instance.getHeader(id)\n\n const initialProps: FooterProps = {\n key: header.id,\n role: 'columnfooter',\n colSpan: header.colSpan,\n rowSpan: header.rowSpan,\n }\n\n return propGetter(initialProps, userProps)\n },\n\n getTotalWidth: () => {\n let width = 0\n\n instance.getVisibleLeafColumns().forEach(column => {\n width += column.getWidth() ?? 0\n })\n\n return width\n },\n }\n },\n}\n\nexport function buildHeaderGroups<TGenerics extends AnyGenerics>(\n allColumns: Column<TGenerics>[],\n columnsToGroup: Column<TGenerics>[],\n instance: TableInstance<TGenerics>,\n headerFamily?: 'center' | 'left' | 'right'\n) {\n // Find the max depth of the columns:\n // build the leaf column row\n // build each buffer row going up\n // placeholder for non-existent level\n // real column for existing level\n\n let maxDepth = 0\n\n const findMaxDepth = (columns: Column<TGenerics>[], depth = 1) => {\n maxDepth = Math.max(maxDepth, depth)\n\n columns\n .filter(column => column.getIsVisible())\n .forEach(column => {\n if (column.columns?.length) {\n findMaxDepth(column.columns, depth + 1)\n }\n }, 0)\n }\n\n findMaxDepth(allColumns)\n\n let headerGroups: HeaderGroup<TGenerics>[] = []\n\n const createHeaderGroup = (\n headersToGroup: Header<TGenerics>[],\n depth: number\n ) => {\n // The header group we are creating\n const headerGroup: HeaderGroup<TGenerics> = {\n depth,\n id: [headerFamily, `${depth}`].filter(Boolean).join('_'),\n headers: [],\n getHeaderGroupProps: getterValue =>\n instance.getHeaderGroupProps(`${depth}`, getterValue)!,\n getFooterGroupProps: getterValue =>\n instance.getFooterGroupProps(`${depth}`, getterValue)!,\n }\n\n // The parent columns we're going to scan next\n const parentHeaders: Header<TGenerics>[] = []\n\n // Scan each column for parents\n headersToGroup.forEach(headerToGroup => {\n // What is the latest (last) parent column?\n\n const latestParentHeader = [...parentHeaders].reverse()[0]\n\n const isLeafHeader = headerToGroup.column.depth === headerGroup.depth\n\n let column: Column<TGenerics>\n let isPlaceholder = false\n\n if (isLeafHeader && headerToGroup.column.parent) {\n // The parent header is new\n column = headerToGroup.column.parent\n } else {\n // The parent header is repeated\n column = headerToGroup.column\n isPlaceholder = true\n }\n\n const header = instance.createHeader(column, {\n id: [headerFamily, depth, column.id, headerToGroup?.id]\n .filter(Boolean)\n .join('_'),\n isPlaceholder,\n placeholderId: isPlaceholder\n ? `${parentHeaders.filter(d => d.column === column).length}`\n : undefined,\n depth,\n })\n\n if (!latestParentHeader || latestParentHeader.column !== header.column) {\n header.subHeaders.push(headerToGroup)\n parentHeaders.push(header)\n } else {\n latestParentHeader.subHeaders.push(headerToGroup)\n }\n\n // if (!headerToGroup.isPlaceholder) {\n // headerToGroup.column.header = headerToGroup;\n // }\n\n headerGroup.headers.push(headerToGroup)\n })\n\n headerGroups.push(headerGroup)\n\n if (depth > 0) {\n createHeaderGroup(parentHeaders, depth - 1)\n }\n }\n\n const bottomHeaders = columnsToGroup.map(column =>\n instance.createHeader(column, {\n depth: maxDepth,\n })\n )\n\n createHeaderGroup(bottomHeaders, maxDepth - 1)\n\n headerGroups.reverse()\n\n // headerGroups = headerGroups.filter(headerGroup => {\n // return !headerGroup.headers.every(header => header.isPlaceholder)\n // })\n\n const recurseHeadersForSpans = (headers: Header<TGenerics>[]) => {\n const filteredHeaders = headers.filter(header =>\n header.column.getIsVisible()\n )\n\n return filteredHeaders.map(header => {\n let colSpan = 0\n let rowSpan = 0\n let childRowSpans = [0]\n\n if (header.subHeaders && header.subHeaders.length) {\n childRowSpans = []\n\n recurseHeadersForSpans(header.subHeaders).forEach(\n ({ colSpan: childColSpan, rowSpan: childRowSpan }) => {\n colSpan += childColSpan\n childRowSpans.push(childRowSpan)\n }\n )\n } else {\n colSpan = 1\n }\n\n const minChildRowSpan = Math.min(...childRowSpans)\n rowSpan = rowSpan + minChildRowSpan\n\n header.colSpan = colSpan > 0 ? colSpan : undefined\n header.rowSpan = rowSpan > 0 ? rowSpan : undefined\n\n return { colSpan, rowSpan }\n })\n }\n\n recurseHeadersForSpans(headerGroups[0]?.headers ?? [])\n\n return headerGroups\n}\n"],"names":["Headers","createRow","row","instance","_getAllVisibleCells","memo","getAllCells","filter","cell","column","getIsVisible","map","d","id","join","_","key","debug","options","debugAll","debugRows","getVisibleCells","getLeftVisibleCells","getCenterVisibleCells","getRightVisibleCells","left","center","right","getState","columnPinning","allCells","leftAndRight","includes","columnId","cells","find","Boolean","getInstance","createHeader","header","isPlaceholder","placeholderId","depth","subHeaders","colSpan","rowSpan","getWidth","sum","recurse","length","forEach","getLeafHeaders","leafHeaders","recurseHeader","h","push","getHeaderProps","userProps","getFooterProps","renderHeader","render","renderFooter","footer","Object","assign","ColumnSizing","getHeaderGroups","getAllColumns","getVisibleLeafColumns","allColumns","leafColumns","leftColumns","rightColumns","centerColumns","headerGroups","buildHeaderGroups","debugHeaders","getCenterHeaderGroups","getLeftHeaderGroups","getRightHeaderGroups","getFooterGroups","reverse","getLeftFooterGroups","getCenterFooterGroups","getRightFooterGroups","getFlatHeaders","headerGroup","headers","flat","getLeftFlatHeaders","getCenterFlatHeaders","getRightFlatHeaders","getCenterLeafHeaders","flatHeaders","getLeftLeafHeaders","getRightLeafHeaders","getHeader","process","env","NODE_ENV","console","warn","Error","getHeaderGroupProps","propGetter","role","getFooterGroupProps","initialProps","getTotalWidth","width","columnsToGroup","headerFamily","maxDepth","findMaxDepth","columns","Math","max","createHeaderGroup","headersToGroup","getterValue","parentHeaders","headerToGroup","latestParentHeader","isLeafHeader","parent","undefined","bottomHeaders","recurseHeadersForSpans","filteredHeaders","childRowSpans","childColSpan","childRowSpan","minChildRowSpan","min"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Headers.js","sources":["../../../src/features/Headers.ts"],"sourcesContent":["import {\n Cell,\n Column,\n CoreHeader,\n FooterGroupProps,\n FooterProps,\n Getter,\n Header,\n HeaderGroup,\n HeaderGroupProps,\n HeaderProps,\n TableGenerics,\n PropGetterValue,\n TableInstance,\n Row,\n} from '../types'\nimport { propGetter, memo } from '../utils'\n\nexport type HeadersInstance<TGenerics extends TableGenerics> = {\n createHeader: (\n column: Column<TGenerics>,\n options: {\n id?: string\n isPlaceholder?: boolean\n placeholderId?: string\n index: number\n depth: number\n }\n ) => Header<TGenerics>\n getHeaderGroups: () => HeaderGroup<TGenerics>[]\n getLeftHeaderGroups: () => HeaderGroup<TGenerics>[]\n getCenterHeaderGroups: () => HeaderGroup<TGenerics>[]\n getRightHeaderGroups: () => HeaderGroup<TGenerics>[]\n\n getFooterGroups: () => HeaderGroup<TGenerics>[]\n getLeftFooterGroups: () => HeaderGroup<TGenerics>[]\n getCenterFooterGroups: () => HeaderGroup<TGenerics>[]\n getRightFooterGroups: () => HeaderGroup<TGenerics>[]\n\n getFlatHeaders: () => Header<TGenerics>[]\n getLeftFlatHeaders: () => Header<TGenerics>[]\n getCenterFlatHeaders: () => Header<TGenerics>[]\n getRightFlatHeaders: () => Header<TGenerics>[]\n\n getLeafHeaders: () => Header<TGenerics>[]\n getLeftLeafHeaders: () => Header<TGenerics>[]\n getCenterLeafHeaders: () => Header<TGenerics>[]\n getRightLeafHeaders: () => Header<TGenerics>[]\n\n getHeader: (id: string) => Header<TGenerics>\n\n getHeaderGroupProps: <TGetter extends Getter<HeaderGroupProps>>(\n id: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<HeaderGroupProps, TGetter>\n getFooterGroupProps: <TGetter extends Getter<FooterGroupProps>>(\n id: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<FooterGroupProps, TGetter>\n getHeaderProps: <TGetter extends Getter<HeaderProps>>(\n headerId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<HeaderProps, TGetter>\n getFooterProps: <TGetter extends Getter<FooterProps>>(\n headerId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<FooterProps, TGetter>\n}\n\n//\n\nexport const Headers = {\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): HeadersInstance<TGenerics> => {\n return {\n createHeader: (\n column: Column<TGenerics>,\n options: {\n id?: string\n isPlaceholder?: boolean\n placeholderId?: string\n index: number\n depth: number\n }\n ) => {\n const id = options.id ?? column.id\n\n let header: CoreHeader<TGenerics> = {\n id,\n column,\n index: options.index,\n isPlaceholder: options.isPlaceholder,\n placeholderId: options.placeholderId,\n depth: options.depth,\n subHeaders: [],\n colSpan: 0,\n rowSpan: 0,\n headerGroup: null!,\n getSize: () => {\n let sum = 0\n\n const recurse = (header: CoreHeader<TGenerics>) => {\n if (header.subHeaders.length) {\n header.subHeaders.forEach(recurse)\n } else {\n sum += header.column.getSize() ?? 0\n }\n }\n\n recurse(header)\n\n return sum\n },\n getStart: () => {\n if (header.index > 0) {\n const prevSiblingHeader =\n header.headerGroup.headers[header.index - 1]\n return prevSiblingHeader.getStart() + prevSiblingHeader.getSize()\n }\n\n return 0\n },\n getLeafHeaders: (): Header<TGenerics>[] => {\n const leafHeaders: CoreHeader<TGenerics>[] = []\n\n const recurseHeader = (h: CoreHeader<TGenerics>) => {\n if (h.subHeaders && h.subHeaders.length) {\n h.subHeaders.map(recurseHeader)\n }\n leafHeaders.push(h)\n }\n\n recurseHeader(header)\n\n return leafHeaders as Header<TGenerics>[]\n },\n getHeaderProps: userProps =>\n instance.getHeaderProps(header.id, userProps)!,\n getFooterProps: userProps =>\n instance.getFooterProps(header.id, userProps)!,\n renderHeader: () =>\n column.header\n ? instance.render(column.header, {\n instance,\n header: header as Header<TGenerics>,\n column,\n })\n : null,\n renderFooter: () =>\n column.footer\n ? instance.render(column.footer, {\n instance,\n header: header as Header<TGenerics>,\n column,\n })\n : null,\n }\n\n instance._features.forEach(feature => {\n Object.assign(header, feature.createHeader?.(header, instance))\n })\n\n return header as Header<TGenerics>\n },\n\n // Header Groups\n\n getHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.getState().columnPinning.left,\n instance.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, left, right) => {\n const leftColumns = leafColumns.filter(column =>\n left?.includes(column.id)\n )\n const rightColumns = leafColumns.filter(column =>\n right?.includes(column.id)\n )\n const centerColumns = leafColumns.filter(\n column => !left?.includes(column.id) && !right?.includes(column.id)\n )\n const headerGroups = buildHeaderGroups(\n allColumns,\n [...leftColumns, ...centerColumns, ...rightColumns],\n instance\n )\n\n return headerGroups\n },\n {\n key: 'getHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getCenterHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.getState().columnPinning.left,\n instance.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, left, right) => {\n leafColumns = leafColumns.filter(\n column => !left?.includes(column.id) && !right?.includes(column.id)\n )\n return buildHeaderGroups(allColumns, leafColumns, instance, 'center')\n },\n {\n key: 'getCenterHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.getState().columnPinning.left,\n ],\n (allColumns, leafColumns, left) => {\n leafColumns = leafColumns.filter(column => left?.includes(column.id))\n return buildHeaderGroups(allColumns, leafColumns, instance, 'left')\n },\n {\n key: 'getLeftHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightHeaderGroups: memo(\n () => [\n instance.getAllColumns(),\n instance.getVisibleLeafColumns(),\n instance.getState().columnPinning.right,\n ],\n (allColumns, leafColumns, right) => {\n leafColumns = leafColumns.filter(column => right?.includes(column.id))\n return buildHeaderGroups(allColumns, leafColumns, instance, 'right')\n },\n {\n key: 'getRightHeaderGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n // Footer Groups\n\n getFooterGroups: memo(\n () => [instance.getHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: 'getFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftFooterGroups: memo(\n () => [instance.getLeftHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: 'getLeftFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getCenterFooterGroups: memo(\n () => [instance.getCenterHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: 'getCenterFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightFooterGroups: memo(\n () => [instance.getRightHeaderGroups()],\n headerGroups => {\n return [...headerGroups].reverse()\n },\n {\n key: 'getRightFooterGroups',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n // Flat Headers\n\n getFlatHeaders: memo(\n () => [instance.getHeaderGroups()],\n headerGroups => {\n return headerGroups\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: 'getFlatHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftFlatHeaders: memo(\n () => [instance.getLeftHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: 'getLeftFlatHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getCenterFlatHeaders: memo(\n () => [instance.getCenterHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: 'getCenterFlatHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightFlatHeaders: memo(\n () => [instance.getRightHeaderGroups()],\n left => {\n return left\n .map(headerGroup => {\n return headerGroup.headers\n })\n .flat()\n },\n {\n key: 'getRightFlatHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n // Leaf Headers\n\n getCenterLeafHeaders: memo(\n () => [instance.getCenterFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: 'getCenterLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeftLeafHeaders: memo(\n () => [instance.getLeftFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: 'getLeftLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getRightLeafHeaders: memo(\n () => [instance.getRightFlatHeaders()],\n flatHeaders => {\n return flatHeaders.filter(header => !header.subHeaders?.length)\n },\n {\n key: 'getRightLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getLeafHeaders: memo(\n () => [\n instance.getLeftHeaderGroups(),\n instance.getCenterHeaderGroups(),\n instance.getRightHeaderGroups(),\n ],\n (left, center, right) => {\n return [\n ...(left[0]?.headers ?? []),\n ...(center[0]?.headers ?? []),\n ...(right[0]?.headers ?? []),\n ]\n .map(header => {\n return header.getLeafHeaders()\n })\n .flat()\n },\n {\n key: 'getLeafHeaders',\n debug: () =>\n instance.options.debugAll ?? instance.options.debugHeaders,\n }\n ),\n\n getHeader: (id: string) => {\n const header = [\n ...instance.getFlatHeaders(),\n ...instance.getCenterFlatHeaders(),\n ...instance.getLeftFlatHeaders(),\n ...instance.getRightFlatHeaders(),\n ].find(d => d.id === id)\n\n if (!header) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Could not find header with id: ${id}`)\n }\n throw new Error()\n }\n\n return header\n },\n\n getHeaderGroupProps: (id, userProps) => {\n const headerGroup = instance.getHeaderGroups().find(d => d.id === id)\n\n if (!headerGroup) {\n return\n }\n\n return propGetter(\n {\n key: headerGroup.id,\n role: 'row',\n },\n userProps\n )\n },\n\n getFooterGroupProps: (id, userProps) => {\n const headerGroup = instance.getFooterGroups().find(d => d.id === id)\n\n if (!headerGroup) {\n return\n }\n\n const initialProps = {\n key: headerGroup.id,\n role: 'row',\n }\n\n return propGetter(initialProps, userProps)\n },\n\n getHeaderProps: (id, userProps) => {\n const header = instance.getHeader(id)\n\n if (!header) {\n throw new Error()\n }\n\n const initialProps: HeaderProps = {\n key: header.id,\n role: 'columnheader',\n colSpan: header.colSpan,\n rowSpan: header.rowSpan,\n }\n\n return propGetter(initialProps, userProps)\n },\n\n getFooterProps: (id, userProps) => {\n const header = instance.getHeader(id)\n\n const initialProps: FooterProps = {\n key: header.id,\n role: 'columnfooter',\n colSpan: header.colSpan,\n rowSpan: header.rowSpan,\n }\n\n return propGetter(initialProps, userProps)\n },\n }\n },\n}\n\nexport function buildHeaderGroups<TGenerics extends TableGenerics>(\n allColumns: Column<TGenerics>[],\n columnsToGroup: Column<TGenerics>[],\n instance: TableInstance<TGenerics>,\n headerFamily?: 'center' | 'left' | 'right'\n) {\n // Find the max depth of the columns:\n // build the leaf column row\n // build each buffer row going up\n // placeholder for non-existent level\n // real column for existing level\n\n let maxDepth = 0\n\n const findMaxDepth = (columns: Column<TGenerics>[], depth = 1) => {\n maxDepth = Math.max(maxDepth, depth)\n\n columns\n .filter(column => column.getIsVisible())\n .forEach(column => {\n if (column.columns?.length) {\n findMaxDepth(column.columns, depth + 1)\n }\n }, 0)\n }\n\n findMaxDepth(allColumns)\n\n let headerGroups: HeaderGroup<TGenerics>[] = []\n\n const createHeaderGroup = (\n headersToGroup: Header<TGenerics>[],\n depth: number\n ) => {\n // The header group we are creating\n const headerGroup: HeaderGroup<TGenerics> = {\n depth,\n id: [headerFamily, `${depth}`].filter(Boolean).join('_'),\n headers: [],\n getHeaderGroupProps: getterValue =>\n instance.getHeaderGroupProps(`${depth}`, getterValue)!,\n getFooterGroupProps: getterValue =>\n instance.getFooterGroupProps(`${depth}`, getterValue)!,\n }\n\n // The parent columns we're going to scan next\n const pendingParentHeaders: Header<TGenerics>[] = []\n\n // Scan each column for parents\n headersToGroup.forEach(headerToGroup => {\n // What is the latest (last) parent column?\n\n const latestPendingParentHeader = [...pendingParentHeaders].reverse()[0]\n\n const isLeafHeader = headerToGroup.column.depth === headerGroup.depth\n\n let column: Column<TGenerics>\n let isPlaceholder = false\n\n if (isLeafHeader && headerToGroup.column.parent) {\n // The parent header is new\n column = headerToGroup.column.parent\n } else {\n // The parent header is repeated\n column = headerToGroup.column\n isPlaceholder = true\n }\n\n if (latestPendingParentHeader?.column === column) {\n // This column is repeated. Add it as a sub header to the next batch\n latestPendingParentHeader.subHeaders.push(headerToGroup)\n } else {\n // This is a new header. Let's create it\n const header = instance.createHeader(column, {\n id: [headerFamily, depth, column.id, headerToGroup?.id]\n .filter(Boolean)\n .join('_'),\n isPlaceholder,\n placeholderId: isPlaceholder\n ? `${pendingParentHeaders.filter(d => d.column === column).length}`\n : undefined,\n depth,\n index: pendingParentHeaders.length,\n })\n\n // Add the headerToGroup as a subHeader of the new header\n header.subHeaders.push(headerToGroup)\n // Add the new header to the pendingParentHeaders to get grouped\n // in the next batch\n pendingParentHeaders.push(header)\n }\n\n headerGroup.headers.push(headerToGroup)\n headerToGroup.headerGroup = headerGroup\n })\n\n headerGroups.push(headerGroup)\n\n if (depth > 0) {\n createHeaderGroup(pendingParentHeaders, depth - 1)\n }\n }\n\n const bottomHeaders = columnsToGroup.map((column, index) =>\n instance.createHeader(column, {\n depth: maxDepth,\n index,\n })\n )\n\n createHeaderGroup(bottomHeaders, maxDepth - 1)\n\n headerGroups.reverse()\n\n // headerGroups = headerGroups.filter(headerGroup => {\n // return !headerGroup.headers.every(header => header.isPlaceholder)\n // })\n\n const recurseHeadersForSpans = (headers: Header<TGenerics>[]) => {\n const filteredHeaders = headers.filter(header =>\n header.column.getIsVisible()\n )\n\n return filteredHeaders.map(header => {\n let colSpan = 0\n let rowSpan = 0\n let childRowSpans = [0]\n\n if (header.subHeaders && header.subHeaders.length) {\n childRowSpans = []\n\n recurseHeadersForSpans(header.subHeaders).forEach(\n ({ colSpan: childColSpan, rowSpan: childRowSpan }) => {\n colSpan += childColSpan\n childRowSpans.push(childRowSpan)\n }\n )\n } else {\n colSpan = 1\n }\n\n const minChildRowSpan = Math.min(...childRowSpans)\n rowSpan = rowSpan + minChildRowSpan\n\n header.colSpan = colSpan > 0 ? colSpan : undefined\n header.rowSpan = rowSpan > 0 ? rowSpan : undefined\n\n return { colSpan, rowSpan }\n })\n }\n\n recurseHeadersForSpans(headerGroups[0]?.headers ?? [])\n\n return headerGroups\n}\n"],"names":["Headers","createInstance","instance","createHeader","column","options","id","header","index","isPlaceholder","placeholderId","depth","subHeaders","colSpan","rowSpan","headerGroup","getSize","sum","recurse","length","forEach","getStart","prevSiblingHeader","headers","getLeafHeaders","leafHeaders","recurseHeader","h","map","push","getHeaderProps","userProps","getFooterProps","renderHeader","render","renderFooter","footer","_features","feature","Object","assign","getHeaderGroups","memo","getAllColumns","getVisibleLeafColumns","getState","columnPinning","left","right","allColumns","leafColumns","leftColumns","filter","includes","rightColumns","centerColumns","headerGroups","buildHeaderGroups","key","debug","debugAll","debugHeaders","getCenterHeaderGroups","getLeftHeaderGroups","getRightHeaderGroups","getFooterGroups","reverse","getLeftFooterGroups","getCenterFooterGroups","getRightFooterGroups","getFlatHeaders","flat","getLeftFlatHeaders","getCenterFlatHeaders","getRightFlatHeaders","getCenterLeafHeaders","flatHeaders","getLeftLeafHeaders","getRightLeafHeaders","center","getHeader","find","d","process","env","NODE_ENV","console","warn","Error","getHeaderGroupProps","propGetter","role","getFooterGroupProps","initialProps","columnsToGroup","headerFamily","maxDepth","findMaxDepth","columns","Math","max","getIsVisible","createHeaderGroup","headersToGroup","Boolean","join","getterValue","pendingParentHeaders","headerToGroup","latestPendingParentHeader","isLeafHeader","parent","undefined","bottomHeaders","recurseHeadersForSpans","filteredHeaders","childRowSpans","childColSpan","childRowSpan","minChildRowSpan","min"],"mappings":"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"}
|
|
@@ -27,7 +27,7 @@ var Ordering = {
|
|
|
27
27
|
onColumnOrderChange: utils.makeStateUpdater('columnOrder', instance)
|
|
28
28
|
};
|
|
29
29
|
},
|
|
30
|
-
|
|
30
|
+
createInstance: function createInstance(instance) {
|
|
31
31
|
return {
|
|
32
32
|
setColumnOrder: function setColumnOrder(updater) {
|
|
33
33
|
return instance.options.onColumnOrderChange == null ? void 0 : instance.options.onColumnOrderChange(updater);
|
|
@@ -37,7 +37,7 @@ var Ordering = {
|
|
|
37
37
|
|
|
38
38
|
instance.setColumnOrder((_instance$initialStat = instance.initialState.columnOrder) != null ? _instance$initialStat : []);
|
|
39
39
|
},
|
|
40
|
-
|
|
40
|
+
_getOrderColumnsFn: utils.memo(function () {
|
|
41
41
|
return [instance.getState().columnOrder, instance.getState().grouping, instance.options.groupedColumnMode];
|
|
42
42
|
}, function (columnOrder, grouping, groupedColumnMode) {
|
|
43
43
|
return function (columns) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ordering.js","sources":["../../../src/features/Ordering.ts"],"sourcesContent":["import { makeStateUpdater, memo } from '../utils'\n\nimport {\n TableInstance,\n OnChangeFn,\n Updater,\n Column,\n
|
|
1
|
+
{"version":3,"file":"Ordering.js","sources":["../../../src/features/Ordering.ts"],"sourcesContent":["import { makeStateUpdater, memo } from '../utils'\n\nimport {\n TableInstance,\n OnChangeFn,\n Updater,\n Column,\n TableGenerics,\n} from '../types'\n\nimport { Grouping } from './Grouping'\n\nexport type ColumnOrderTableState = {\n columnOrder: ColumnOrderState\n}\n\nexport type ColumnOrderState = string[]\n\nexport type ColumnOrderOptions = {\n onColumnOrderChange?: OnChangeFn<ColumnOrderState>\n}\n\nexport type ColumnOrderDefaultOptions = {\n onColumnOrderChange: OnChangeFn<ColumnOrderState>\n}\n\nexport type ColumnOrderInstance<TGenerics extends TableGenerics> = {\n setColumnOrder: (updater: Updater<ColumnOrderState>) => void\n resetColumnOrder: () => void\n _getOrderColumnsFn: () => (\n columns: Column<TGenerics>[]\n ) => Column<TGenerics>[]\n}\n\n//\n\nexport const Ordering = {\n getInitialState: (): ColumnOrderTableState => {\n return {\n columnOrder: [],\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ColumnOrderDefaultOptions => {\n return {\n onColumnOrderChange: makeStateUpdater('columnOrder', instance),\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): ColumnOrderInstance<TGenerics> => {\n return {\n setColumnOrder: updater =>\n instance.options.onColumnOrderChange?.(updater),\n resetColumnOrder: () => {\n instance.setColumnOrder(instance.initialState.columnOrder ?? [])\n },\n _getOrderColumnsFn: memo(\n () => [\n instance.getState().columnOrder,\n instance.getState().grouping,\n instance.options.groupedColumnMode,\n ],\n (columnOrder, grouping, groupedColumnMode) => columns => {\n // Sort grouped columns to the start of the column list\n // before the headers are built\n let orderedColumns: Column<TGenerics>[] = []\n\n // If there is no order, return the normal columns\n if (!columnOrder?.length) {\n orderedColumns = columns\n } else {\n const columnOrderCopy = [...columnOrder]\n\n // If there is an order, make a copy of the columns\n const columnsCopy = [...columns]\n\n // And make a new ordered array of the columns\n\n // Loop over the columns and place them in order into the new array\n while (columnsCopy.length && columnOrderCopy.length) {\n const targetColumnId = columnOrderCopy.shift()\n const foundIndex = columnsCopy.findIndex(\n d => d.id === targetColumnId\n )\n if (foundIndex > -1) {\n orderedColumns.push(columnsCopy.splice(foundIndex, 1)[0]!)\n }\n }\n\n // If there are any columns left, add them to the end\n orderedColumns = [...orderedColumns, ...columnsCopy]\n }\n\n return Grouping.orderColumns(\n orderedColumns,\n grouping,\n groupedColumnMode\n )\n },\n {\n key: 'getOrderColumnsFn',\n // debug: () => instance.options.debugAll ?? instance.options.debugTable,\n }\n ),\n }\n },\n}\n"],"names":["Ordering","getInitialState","columnOrder","getDefaultOptions","instance","onColumnOrderChange","makeStateUpdater","createInstance","setColumnOrder","updater","options","resetColumnOrder","initialState","_getOrderColumnsFn","memo","getState","grouping","groupedColumnMode","columns","orderedColumns","length","columnOrderCopy","columnsCopy","targetColumnId","shift","foundIndex","findIndex","d","id","push","splice","Grouping","orderColumns","key"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.js","sources":["../../../src/features/Pagination.ts"],"sourcesContent":["import {\n OnChangeFn,\n AnyGenerics,\n PartialGenerics,\n TableInstance,\n RowModel,\n Updater,\n} from '../types'\nimport { functionalUpdate, makeStateUpdater, memo } from '../utils'\n\nexport type PaginationState = {\n pageIndex: number\n pageSize: number\n pageCount: number\n}\n\nexport type PaginationTableState = {\n pagination: PaginationState\n}\n\nexport type PaginationOptions<TGenerics extends AnyGenerics> = {\n onPaginationChange?: OnChangeFn<PaginationState>\n autoResetPageIndex?: boolean\n getPaginationRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n}\n\nexport type PaginationDefaultOptions = {\n onPaginationChange: OnChangeFn<PaginationState>\n autoResetPageIndex: boolean\n}\n\nexport type PaginationInstance<TGenerics extends AnyGenerics> = {\n queueResetPageIndex: () => void\n setPagination: (updater: Updater<PaginationState>) => void\n resetPagination: () => void\n setPageIndex: (updater: Updater<number>) => void\n resetPageIndex: () => void\n setPageSize: (updater: Updater<number>) => void\n resetPageSize: () => void\n setPageCount: (updater: Updater<number>) => void\n getPageOptions: () => number[]\n getCanPreviousPage: () => boolean\n getCanNextPage: () => boolean\n previousPage: () => void\n nextPage: () => void\n getPrePaginationRowModel: () => RowModel<TGenerics>\n getPaginationRowModel: () => RowModel<TGenerics>\n _getPaginationRowModel?: () => RowModel<TGenerics>\n getPageCount: () => number\n}\n\n//\n\nexport const Pagination = {\n getInitialState: (): PaginationTableState => {\n return {\n pagination: {\n pageCount: -1,\n pageIndex: 0,\n pageSize: 10,\n },\n }\n },\n\n getDefaultOptions: <TGenerics extends AnyGenerics>(\n instance: TableInstance<TGenerics>\n ): PaginationDefaultOptions => {\n return {\n onPaginationChange: makeStateUpdater('pagination', instance),\n autoResetPageIndex: true,\n }\n },\n\n getInstance: <TGenerics extends AnyGenerics>(\n instance: TableInstance<TGenerics>\n ): PaginationInstance<TGenerics> => {\n let registered = false\n return {\n queueResetPageIndex: () => {\n if (!registered) {\n registered = true\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetPageIndex\n ) {\n instance.resetPageIndex()\n }\n },\n setPagination: updater => {\n const safeUpdater: Updater<PaginationState> = old => {\n let newState = functionalUpdate(updater, old)\n\n return newState\n }\n\n return instance.options.onPaginationChange?.(safeUpdater)\n },\n resetPagination: () => {\n instance.setPagination(\n instance.initialState.pagination ?? {\n pageIndex: 0,\n pageSize: 10,\n pageCount: -1,\n }\n )\n },\n setPageIndex: updater => {\n instance.setPagination(old => {\n let pageIndex = functionalUpdate(updater, old.pageIndex)\n\n const maxPageIndex =\n old.pageCount && old.pageCount > 0\n ? old.pageCount - 1\n : Number.MAX_SAFE_INTEGER\n\n pageIndex = Math.min(Math.max(0, pageIndex), maxPageIndex)\n\n return {\n ...old,\n pageIndex,\n }\n })\n },\n resetPageIndex: () => {\n instance.setPageIndex(0)\n },\n resetPageSize: () => {\n instance.setPageSize(instance.initialState?.pagination?.pageSize ?? 10)\n },\n setPageSize: updater => {\n instance.setPagination(old => {\n const pageSize = Math.max(1, functionalUpdate(updater, old.pageSize))\n const topRowIndex = old.pageSize * old.pageIndex!\n const pageIndex = Math.floor(topRowIndex / pageSize)\n\n return {\n ...old,\n pageIndex,\n pageSize,\n }\n })\n },\n setPageCount: updater =>\n instance.setPagination(old => {\n let newPageCount = functionalUpdate(updater, old.pageCount)\n\n if (typeof newPageCount === 'number') {\n newPageCount = Math.max(-1, newPageCount)\n }\n\n return {\n ...old,\n pageCount: newPageCount,\n }\n }),\n\n getPageOptions: memo(\n () => [\n instance.getState().pagination.pageSize,\n instance.getState().pagination.pageCount,\n ],\n (pageSize, pageCount) => {\n let pageOptions: number[] = []\n if (pageCount && pageCount > 0) {\n pageOptions = [...new Array(pageCount)].fill(null).map((_, i) => i)\n }\n return pageOptions\n },\n {\n key: 'getPageOptions',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n }\n ),\n\n getCanPreviousPage: () => instance.getState().pagination.pageIndex > 0,\n\n getCanNextPage: () => {\n const { pageIndex } = instance.getState().pagination\n\n const pageCount = instance.getPageCount()\n\n if (pageCount === -1) {\n return true\n }\n\n if (pageCount === 0) {\n return false\n }\n\n return pageIndex < pageCount - 1\n },\n\n previousPage: () => {\n return instance.setPageIndex(old => old - 1)\n },\n\n nextPage: () => {\n return instance.setPageIndex(old => {\n return old + 1\n })\n },\n\n getPrePaginationRowModel: () => instance.getExpandedRowModel(),\n getPaginationRowModel: () => {\n if (\n !instance._getPaginationRowModel &&\n instance.options.getPaginationRowModel\n ) {\n instance._getPaginationRowModel =\n instance.options.getPaginationRowModel(instance)\n }\n\n if (!instance._getPaginationRowModel) {\n return instance.getPrePaginationRowModel()\n }\n\n return instance._getPaginationRowModel()\n },\n\n getPageCount: () => {\n const { pageCount } = instance.getState().pagination\n if (pageCount > 0) {\n return pageCount\n }\n\n return Math.ceil(\n instance.getPrePaginationRowModel().rows.length /\n instance.getState().pagination.pageSize\n )\n },\n }\n },\n}\n"],"names":["Pagination","getInitialState","pagination","pageCount","pageIndex","pageSize","getDefaultOptions","instance","onPaginationChange","makeStateUpdater","autoResetPageIndex","getInstance","registered","queueResetPageIndex","options","autoResetAll","resetPageIndex","setPagination","updater","safeUpdater","old","newState","functionalUpdate","resetPagination","initialState","setPageIndex","maxPageIndex","Number","MAX_SAFE_INTEGER","Math","min","max","_extends","resetPageSize","setPageSize","topRowIndex","floor","setPageCount","newPageCount","getPageOptions","memo","getState","pageOptions","Array","fill","map","_","i","key","debug","debugAll","debugTable","getCanPreviousPage","getCanNextPage","getPageCount","previousPage","nextPage","getPrePaginationRowModel","getExpandedRowModel","getPaginationRowModel","_getPaginationRowModel","ceil","rows","length"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Pagination.js","sources":["../../../src/features/Pagination.ts"],"sourcesContent":["import {\n OnChangeFn,\n TableGenerics,\n TableInstance,\n RowModel,\n Updater,\n} from '../types'\nimport { functionalUpdate, makeStateUpdater, memo } from '../utils'\n\nexport type PaginationState = {\n pageIndex: number\n pageSize: number\n pageCount: number\n}\n\nexport type PaginationTableState = {\n pagination: PaginationState\n}\n\nexport type PaginationOptions<TGenerics extends TableGenerics> = {\n onPaginationChange?: OnChangeFn<PaginationState>\n autoResetPageIndex?: boolean\n getPaginationRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n}\n\nexport type PaginationDefaultOptions = {\n onPaginationChange: OnChangeFn<PaginationState>\n autoResetPageIndex: boolean\n}\n\nexport type PaginationInstance<TGenerics extends TableGenerics> = {\n queueResetPageIndex: () => void\n setPagination: (updater: Updater<PaginationState>) => void\n resetPagination: () => void\n setPageIndex: (updater: Updater<number>) => void\n resetPageIndex: () => void\n setPageSize: (updater: Updater<number>) => void\n resetPageSize: () => void\n setPageCount: (updater: Updater<number>) => void\n getPageOptions: () => number[]\n getCanPreviousPage: () => boolean\n getCanNextPage: () => boolean\n previousPage: () => void\n nextPage: () => void\n getPrePaginationRowModel: () => RowModel<TGenerics>\n getPaginationRowModel: () => RowModel<TGenerics>\n _getPaginationRowModel?: () => RowModel<TGenerics>\n getPageCount: () => number\n}\n\n//\n\nexport const Pagination = {\n getInitialState: (): PaginationTableState => {\n return {\n pagination: {\n pageCount: -1,\n pageIndex: 0,\n pageSize: 10,\n },\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): PaginationDefaultOptions => {\n return {\n onPaginationChange: makeStateUpdater('pagination', instance),\n autoResetPageIndex: true,\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): PaginationInstance<TGenerics> => {\n let registered = false\n return {\n queueResetPageIndex: () => {\n if (!registered) {\n registered = true\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetPageIndex\n ) {\n instance.resetPageIndex()\n }\n },\n setPagination: updater => {\n const safeUpdater: Updater<PaginationState> = old => {\n let newState = functionalUpdate(updater, old)\n\n return newState\n }\n\n return instance.options.onPaginationChange?.(safeUpdater)\n },\n resetPagination: () => {\n instance.setPagination(\n instance.initialState.pagination ?? {\n pageIndex: 0,\n pageSize: 10,\n pageCount: -1,\n }\n )\n },\n setPageIndex: updater => {\n instance.setPagination(old => {\n let pageIndex = functionalUpdate(updater, old.pageIndex)\n\n const maxPageIndex =\n old.pageCount && old.pageCount > 0\n ? old.pageCount - 1\n : Number.MAX_SAFE_INTEGER\n\n pageIndex = Math.min(Math.max(0, pageIndex), maxPageIndex)\n\n return {\n ...old,\n pageIndex,\n }\n })\n },\n resetPageIndex: () => {\n instance.setPageIndex(0)\n },\n resetPageSize: () => {\n instance.setPageSize(instance.initialState?.pagination?.pageSize ?? 10)\n },\n setPageSize: updater => {\n instance.setPagination(old => {\n const pageSize = Math.max(1, functionalUpdate(updater, old.pageSize))\n const topRowIndex = old.pageSize * old.pageIndex!\n const pageIndex = Math.floor(topRowIndex / pageSize)\n\n return {\n ...old,\n pageIndex,\n pageSize,\n }\n })\n },\n setPageCount: updater =>\n instance.setPagination(old => {\n let newPageCount = functionalUpdate(updater, old.pageCount)\n\n if (typeof newPageCount === 'number') {\n newPageCount = Math.max(-1, newPageCount)\n }\n\n return {\n ...old,\n pageCount: newPageCount,\n }\n }),\n\n getPageOptions: memo(\n () => [\n instance.getState().pagination.pageSize,\n instance.getState().pagination.pageCount,\n ],\n (pageSize, pageCount) => {\n let pageOptions: number[] = []\n if (pageCount && pageCount > 0) {\n pageOptions = [...new Array(pageCount)].fill(null).map((_, i) => i)\n }\n return pageOptions\n },\n {\n key: 'getPageOptions',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n }\n ),\n\n getCanPreviousPage: () => instance.getState().pagination.pageIndex > 0,\n\n getCanNextPage: () => {\n const { pageIndex } = instance.getState().pagination\n\n const pageCount = instance.getPageCount()\n\n if (pageCount === -1) {\n return true\n }\n\n if (pageCount === 0) {\n return false\n }\n\n return pageIndex < pageCount - 1\n },\n\n previousPage: () => {\n return instance.setPageIndex(old => old - 1)\n },\n\n nextPage: () => {\n return instance.setPageIndex(old => {\n return old + 1\n })\n },\n\n getPrePaginationRowModel: () => instance.getExpandedRowModel(),\n getPaginationRowModel: () => {\n if (\n !instance._getPaginationRowModel &&\n instance.options.getPaginationRowModel\n ) {\n instance._getPaginationRowModel =\n instance.options.getPaginationRowModel(instance)\n }\n\n if (!instance._getPaginationRowModel) {\n return instance.getPrePaginationRowModel()\n }\n\n return instance._getPaginationRowModel()\n },\n\n getPageCount: () => {\n const { pageCount } = instance.getState().pagination\n if (pageCount > 0) {\n return pageCount\n }\n\n return Math.ceil(\n instance.getPrePaginationRowModel().rows.length /\n instance.getState().pagination.pageSize\n )\n },\n }\n },\n}\n"],"names":["Pagination","getInitialState","pagination","pageCount","pageIndex","pageSize","getDefaultOptions","instance","onPaginationChange","makeStateUpdater","autoResetPageIndex","createInstance","registered","queueResetPageIndex","options","autoResetAll","resetPageIndex","setPagination","updater","safeUpdater","old","newState","functionalUpdate","resetPagination","initialState","setPageIndex","maxPageIndex","Number","MAX_SAFE_INTEGER","Math","min","max","_extends","resetPageSize","setPageSize","topRowIndex","floor","setPageCount","newPageCount","getPageOptions","memo","getState","pageOptions","Array","fill","map","_","i","key","debug","debugAll","debugTable","getCanPreviousPage","getCanNextPage","getPageCount","previousPage","nextPage","getPrePaginationRowModel","getExpandedRowModel","getPaginationRowModel","_getPaginationRowModel","ceil","rows","length"],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
14
|
|
|
15
|
+
var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.js');
|
|
15
16
|
var utils = require('../utils.js');
|
|
16
17
|
|
|
17
18
|
//
|
|
@@ -45,7 +46,129 @@ var Pinning = {
|
|
|
45
46
|
}
|
|
46
47
|
};
|
|
47
48
|
},
|
|
48
|
-
|
|
49
|
+
createRow: function createRow(row, instance) {
|
|
50
|
+
return {
|
|
51
|
+
getCenterVisibleCells: utils.memo(function () {
|
|
52
|
+
return [row._getAllVisibleCells(), instance.getState().columnPinning.left, instance.getState().columnPinning.right];
|
|
53
|
+
}, function (allCells, left, right) {
|
|
54
|
+
var leftAndRight = [].concat(left != null ? left : [], right != null ? right : []);
|
|
55
|
+
return allCells.filter(function (d) {
|
|
56
|
+
return !leftAndRight.includes(d.columnId);
|
|
57
|
+
});
|
|
58
|
+
}, {
|
|
59
|
+
key: 'row.getCenterVisibleCells',
|
|
60
|
+
debug: function debug() {
|
|
61
|
+
var _instance$options$deb;
|
|
62
|
+
|
|
63
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugRows;
|
|
64
|
+
}
|
|
65
|
+
}),
|
|
66
|
+
getLeftVisibleCells: utils.memo(function () {
|
|
67
|
+
return [row._getAllVisibleCells(), instance.getState().columnPinning.left,,];
|
|
68
|
+
}, function (allCells, left) {
|
|
69
|
+
var cells = (left != null ? left : []).map(function (columnId) {
|
|
70
|
+
return allCells.find(function (cell) {
|
|
71
|
+
return cell.columnId === columnId;
|
|
72
|
+
});
|
|
73
|
+
}).filter(Boolean).map(function (d) {
|
|
74
|
+
return _rollupPluginBabelHelpers["extends"]({}, d, {
|
|
75
|
+
position: 'left'
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
return cells;
|
|
79
|
+
}, {
|
|
80
|
+
key: 'row.getLeftVisibleCells',
|
|
81
|
+
debug: function debug() {
|
|
82
|
+
var _instance$options$deb2;
|
|
83
|
+
|
|
84
|
+
return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugRows;
|
|
85
|
+
}
|
|
86
|
+
}),
|
|
87
|
+
getRightVisibleCells: utils.memo(function () {
|
|
88
|
+
return [row._getAllVisibleCells(), instance.getState().columnPinning.right];
|
|
89
|
+
}, function (allCells, right) {
|
|
90
|
+
var cells = (right != null ? right : []).map(function (columnId) {
|
|
91
|
+
return allCells.find(function (cell) {
|
|
92
|
+
return cell.columnId === columnId;
|
|
93
|
+
});
|
|
94
|
+
}).filter(Boolean).map(function (d) {
|
|
95
|
+
return _rollupPluginBabelHelpers["extends"]({}, d, {
|
|
96
|
+
position: 'left'
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
return cells;
|
|
100
|
+
}, {
|
|
101
|
+
key: 'row.getRightVisibleCells',
|
|
102
|
+
debug: function debug() {
|
|
103
|
+
var _instance$options$deb3;
|
|
104
|
+
|
|
105
|
+
return (_instance$options$deb3 = instance.options.debugAll) != null ? _instance$options$deb3 : instance.options.debugRows;
|
|
106
|
+
}
|
|
107
|
+
})
|
|
108
|
+
};
|
|
109
|
+
},
|
|
110
|
+
createCell: function createCell(cell, instance) {
|
|
111
|
+
return {
|
|
112
|
+
getCenterVisibleCells: utils.memo(function () {
|
|
113
|
+
return [cell.row._getAllVisibleCells(), instance.getState().columnPinning.left, instance.getState().columnPinning.right];
|
|
114
|
+
}, function (allCells, left, right) {
|
|
115
|
+
var leftAndRight = [].concat(left != null ? left : [], right != null ? right : []);
|
|
116
|
+
return allCells.filter(function (d) {
|
|
117
|
+
return !leftAndRight.includes(d.columnId);
|
|
118
|
+
});
|
|
119
|
+
}, {
|
|
120
|
+
key: 'row.getCenterVisibleCells',
|
|
121
|
+
debug: function debug() {
|
|
122
|
+
var _instance$options$deb4;
|
|
123
|
+
|
|
124
|
+
return (_instance$options$deb4 = instance.options.debugAll) != null ? _instance$options$deb4 : instance.options.debugRows;
|
|
125
|
+
}
|
|
126
|
+
}),
|
|
127
|
+
getLeftVisibleCells: utils.memo(function () {
|
|
128
|
+
return [cell.row._getAllVisibleCells(), instance.getState().columnPinning.left,,];
|
|
129
|
+
}, function (allCells, left) {
|
|
130
|
+
var cells = (left != null ? left : []).map(function (columnId) {
|
|
131
|
+
return allCells.find(function (cell) {
|
|
132
|
+
return cell.columnId === columnId;
|
|
133
|
+
});
|
|
134
|
+
}).filter(Boolean).map(function (d) {
|
|
135
|
+
return _rollupPluginBabelHelpers["extends"]({}, d, {
|
|
136
|
+
position: 'left'
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
return cells;
|
|
140
|
+
}, {
|
|
141
|
+
key: 'row.getLeftVisibleCells',
|
|
142
|
+
debug: function debug() {
|
|
143
|
+
var _instance$options$deb5;
|
|
144
|
+
|
|
145
|
+
return (_instance$options$deb5 = instance.options.debugAll) != null ? _instance$options$deb5 : instance.options.debugRows;
|
|
146
|
+
}
|
|
147
|
+
}),
|
|
148
|
+
getRightVisibleCells: utils.memo(function () {
|
|
149
|
+
return [cell.row._getAllVisibleCells(), instance.getState().columnPinning.right];
|
|
150
|
+
}, function (allCells, right) {
|
|
151
|
+
var cells = (right != null ? right : []).map(function (columnId) {
|
|
152
|
+
return allCells.find(function (cell) {
|
|
153
|
+
return cell.columnId === columnId;
|
|
154
|
+
});
|
|
155
|
+
}).filter(Boolean).map(function (d) {
|
|
156
|
+
return _rollupPluginBabelHelpers["extends"]({}, d, {
|
|
157
|
+
position: 'left'
|
|
158
|
+
});
|
|
159
|
+
});
|
|
160
|
+
return cells;
|
|
161
|
+
}, {
|
|
162
|
+
key: 'row.getRightVisibleCells',
|
|
163
|
+
debug: function debug() {
|
|
164
|
+
var _instance$options$deb6;
|
|
165
|
+
|
|
166
|
+
return (_instance$options$deb6 = instance.options.debugAll) != null ? _instance$options$deb6 : instance.options.debugRows;
|
|
167
|
+
}
|
|
168
|
+
})
|
|
169
|
+
};
|
|
170
|
+
},
|
|
171
|
+
createInstance: function createInstance(instance) {
|
|
49
172
|
return {
|
|
50
173
|
setColumnPinning: function setColumnPinning(updater) {
|
|
51
174
|
return instance.options.onColumnPinningChange == null ? void 0 : instance.options.onColumnPinningChange(updater);
|
|
@@ -145,7 +268,54 @@ var Pinning = {
|
|
|
145
268
|
left = _instance$getState$co5.left,
|
|
146
269
|
right = _instance$getState$co5.right;
|
|
147
270
|
return Boolean((left == null ? void 0 : left.length) || (right == null ? void 0 : right.length));
|
|
148
|
-
}
|
|
271
|
+
},
|
|
272
|
+
getLeftLeafColumns: utils.memo(function () {
|
|
273
|
+
return [instance.getAllLeafColumns(), instance.getState().columnPinning.left];
|
|
274
|
+
}, function (allColumns, left) {
|
|
275
|
+
return (left != null ? left : []).map(function (columnId) {
|
|
276
|
+
return allColumns.find(function (column) {
|
|
277
|
+
return column.id === columnId;
|
|
278
|
+
});
|
|
279
|
+
}).filter(Boolean);
|
|
280
|
+
}, {
|
|
281
|
+
key: 'getLeftLeafColumns',
|
|
282
|
+
debug: function debug() {
|
|
283
|
+
var _instance$options$deb7;
|
|
284
|
+
|
|
285
|
+
return (_instance$options$deb7 = instance.options.debugAll) != null ? _instance$options$deb7 : instance.options.debugColumns;
|
|
286
|
+
}
|
|
287
|
+
}),
|
|
288
|
+
getRightLeafColumns: utils.memo(function () {
|
|
289
|
+
return [instance.getAllLeafColumns(), instance.getState().columnPinning.right];
|
|
290
|
+
}, function (allColumns, right) {
|
|
291
|
+
return (right != null ? right : []).map(function (columnId) {
|
|
292
|
+
return allColumns.find(function (column) {
|
|
293
|
+
return column.id === columnId;
|
|
294
|
+
});
|
|
295
|
+
}).filter(Boolean);
|
|
296
|
+
}, {
|
|
297
|
+
key: 'getRightLeafColumns',
|
|
298
|
+
debug: function debug() {
|
|
299
|
+
var _instance$options$deb8;
|
|
300
|
+
|
|
301
|
+
return (_instance$options$deb8 = instance.options.debugAll) != null ? _instance$options$deb8 : instance.options.debugColumns;
|
|
302
|
+
}
|
|
303
|
+
}),
|
|
304
|
+
getCenterLeafColumns: utils.memo(function () {
|
|
305
|
+
return [instance.getAllLeafColumns(), instance.getState().columnPinning.left, instance.getState().columnPinning.right];
|
|
306
|
+
}, function (allColumns, left, right) {
|
|
307
|
+
var leftAndRight = [].concat(left != null ? left : [], right != null ? right : []);
|
|
308
|
+
return allColumns.filter(function (d) {
|
|
309
|
+
return !leftAndRight.includes(d.id);
|
|
310
|
+
});
|
|
311
|
+
}, {
|
|
312
|
+
key: 'getCenterLeafColumns',
|
|
313
|
+
debug: function debug() {
|
|
314
|
+
var _instance$options$deb9;
|
|
315
|
+
|
|
316
|
+
return (_instance$options$deb9 = instance.options.debugAll) != null ? _instance$options$deb9 : instance.options.debugColumns;
|
|
317
|
+
}
|
|
318
|
+
})
|
|
149
319
|
};
|
|
150
320
|
}
|
|
151
321
|
};
|