2019-08-28 14:41:17 +00:00
|
|
|
import React from "react";
|
|
|
|
|
|
|
|
import { isSelected } from "../lists";
|
|
|
|
|
|
|
|
export interface DisplayColumnProps<TColumn extends string = string> {
|
|
|
|
displayColumns: TColumn[];
|
|
|
|
column: TColumn;
|
|
|
|
}
|
|
|
|
|
|
|
|
const DisplayColumn: React.FC<DisplayColumnProps> = ({
|
|
|
|
displayColumns,
|
|
|
|
children,
|
|
|
|
column
|
|
|
|
}) => {
|
2019-09-13 11:33:42 +00:00
|
|
|
const display = React.useMemo(
|
|
|
|
() => isSelected(column, displayColumns, (a, b) => a === b),
|
|
|
|
[column, displayColumns]
|
2019-08-28 14:41:17 +00:00
|
|
|
);
|
|
|
|
|
2019-09-13 11:33:42 +00:00
|
|
|
return <>{display && children}</>;
|
2019-08-28 14:41:17 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
DisplayColumn.displayName = "DisplayColumn";
|
|
|
|
export default DisplayColumn;
|