Skip to content

Commit

Permalink
refactor display columns away from hooks still
Browse files Browse the repository at this point in the history
  • Loading branch information
KevinVandy committed Jan 19, 2024
1 parent 90568cd commit 34179a4
Show file tree
Hide file tree
Showing 13 changed files with 131 additions and 100 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import {
type MRT_RowData,
type MRT_TableInstance,
} from '../../types';
import { getDefaultColumnOrderIds } from '../../utils/column.utils';
import { getDefaultColumnOrderIds } from '../../utils/displayColumn.utils';
import { getMRTTheme } from '../../utils/style.utils';

interface Props<TData extends MRT_RowData> extends Partial<MenuProps> {
Expand Down Expand Up @@ -114,9 +114,7 @@ export const MRT_ShowHideColumnsMenu = <TData extends MRT_RowData>({
{enableColumnOrdering && (
<Button
onClick={() =>
table.setColumnOrder(
getDefaultColumnOrderIds(table.options as any),
)
table.setColumnOrder(getDefaultColumnOrderIds(table.options))
}
>
{localization.resetOrder}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import {
type MRT_ColumnDef,
type MRT_RowData,
type MRT_StatefulTableOptions,
} from '../../types';
import { getMRT_RowActionsColumnDef } from './getMRT_RowActionsColumnDef';
import { getMRT_RowDragColumnDef } from './getMRT_RowDragColumnDef';
import { getMRT_RowExpandColumnDef } from './getMRT_RowExpandColumnDef';
import { getMRT_RowNumbersColumnDef } from './getMRT_RowNumbersColumnDef';
import { getMRT_RowPinningColumnDef } from './getMRT_RowPinningColumnDef';
import { getMRT_RowSelectColumnDef } from './getMRT_RowSelectColumnDef';
import { getMRT_RowSpacerColumnDef } from './getMRT_RowSpacerColumnDef';

export const getMRT_DisplayColumns = <TData extends MRT_RowData>(
tableOptions: MRT_StatefulTableOptions<TData>,
): MRT_ColumnDef<TData>[] => {
console.log('useMRT_DisplayColumns');
return [
getMRT_RowNumbersColumnDef(tableOptions),
getMRT_RowSelectColumnDef(tableOptions),
getMRT_RowExpandColumnDef(tableOptions),
getMRT_RowActionsColumnDef(tableOptions),
getMRT_RowDragColumnDef(tableOptions),
getMRT_RowPinningColumnDef(tableOptions),
getMRT_RowSpacerColumnDef(tableOptions),
].filter(Boolean) as MRT_ColumnDef<TData>[];
};
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,18 @@ import {
type MRT_RowData,
type MRT_StatefulTableOptions,
} from '../../types';
import { defaultDisplayColumnProps } from '../../utils/displayColumn.utils';
import {
defaultDisplayColumnProps,
showRowActionsColumn,
} from '../../utils/displayColumn.utils';

export const getMRT_RowActionsColumnDef = <TData extends MRT_RowData>(
tableOptions: MRT_StatefulTableOptions<TData>,
): MRT_ColumnDef<TData> | null => {
if (!showRowActionsColumn(tableOptions)) {
return null;
}

return {
Cell: ({ cell, row, staticRowIndex, table }) => (
<MRT_ToggleRowActionMenuButton
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,18 @@ import {
type MRT_RowData,
type MRT_StatefulTableOptions,
} from '../../types';
import { defaultDisplayColumnProps } from '../../utils/displayColumn.utils';
import {
defaultDisplayColumnProps,
showRowDragColumn,
} from '../../utils/displayColumn.utils';

export const getMRT_RowDragColumnDef = <TData extends MRT_RowData>(
tableOptions: MRT_StatefulTableOptions<TData>,
): MRT_ColumnDef<TData> | null => {
if (!showRowDragColumn(tableOptions)) {
return null;
}

return {
Cell: ({ row, rowRef, table }) => (
<MRT_TableBodyRowGrabHandle
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,19 @@ import {
type MRT_RowData,
type MRT_StatefulTableOptions,
} from '../../types';
import { defaultDisplayColumnProps } from '../../utils/displayColumn.utils';
import {
defaultDisplayColumnProps,
showRowExpandColumn,
} from '../../utils/displayColumn.utils';
import { getCommonTooltipProps } from '../../utils/style.utils';

export const getMRT_RowExpandColumnDef = <TData extends MRT_RowData>(
tableOptions: MRT_StatefulTableOptions<TData>,
): MRT_ColumnDef<TData> | null => {
if (!showRowExpandColumn(tableOptions)) {
return null;
}

const {
defaultColumn,
enableExpandAll,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,18 @@ import {
type MRT_RowData,
type MRT_StatefulTableOptions,
} from '../../types';
import { defaultDisplayColumnProps } from '../../utils/displayColumn.utils';
import {
defaultDisplayColumnProps,
showRowNumbersColumn,
} from '../../utils/displayColumn.utils';

export const getMRT_RowNumbersColumnDef = <TData extends MRT_RowData>(
tableOptions: MRT_StatefulTableOptions<TData>,
): MRT_ColumnDef<TData> | null => {
if (!showRowNumbersColumn(tableOptions)) {
return null;
}

const { rowNumberDisplayMode } = tableOptions;
const {
pagination: { pageIndex, pageSize },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,18 @@ import {
type MRT_RowData,
type MRT_StatefulTableOptions,
} from '../../types';
import { defaultDisplayColumnProps } from '../../utils/displayColumn.utils';
import {
defaultDisplayColumnProps,
showRowPinningColumn,
} from '../../utils/displayColumn.utils';

export const getMRT_RowPinningColumnDef = <TData extends MRT_RowData>(
tableOptions: MRT_StatefulTableOptions<TData>,
): MRT_ColumnDef<TData> | null => {
if (!showRowPinningColumn(tableOptions)) {
return null;
}

return {
Cell: ({ row, table }) => (
<MRT_TableBodyRowPinButton row={row} table={table} />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,18 @@ import {
type MRT_RowData,
type MRT_StatefulTableOptions,
} from '../../types';
import { defaultDisplayColumnProps } from '../../utils/displayColumn.utils';
import {
defaultDisplayColumnProps,
showRowSelectionColumn,
} from '../../utils/displayColumn.utils';

export const getMRT_RowSelectColumnDef = <TData extends MRT_RowData>(
tableOptions: MRT_StatefulTableOptions<TData>,
): MRT_ColumnDef<TData> | null => {
if (!showRowSelectionColumn(tableOptions)) {
return null;
}

const { enableMultiRowSelection, enableSelectAll } = tableOptions;

return {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,10 @@ import {
type MRT_RowData,
type MRT_StatefulTableOptions,
} from '../../types';
import { defaultDisplayColumnProps } from '../../utils/displayColumn.utils';
import {
defaultDisplayColumnProps,
showRowSpacerColumn,
} from '../../utils/displayColumn.utils';

const blankColProps = {
children: null,
Expand All @@ -19,6 +22,10 @@ const blankColProps = {
export const getMRT_RowSpacerColumnDef = <TData extends MRT_RowData>(
tableOptions: MRT_StatefulTableOptions<TData>,
): MRT_ColumnDef<TData> | null => {
if (!showRowSpacerColumn(tableOptions)) {
return null;
}

return {
...defaultDisplayColumnProps({
id: 'mrt-row-spacer',
Expand Down
57 changes: 0 additions & 57 deletions packages/material-react-table/src/hooks/useMRT_DisplayColumns.tsx

This file was deleted.

Loading

0 comments on commit 34179a4

Please sign in to comment.