import Card from "@material-ui/core/Card"; import Table from "@material-ui/core/Table"; import TableBody from "@material-ui/core/TableBody"; import TableCell from "@material-ui/core/TableCell"; import TableHead from "@material-ui/core/TableHead"; import TableRow from "@material-ui/core/TableRow"; import { storiesOf } from "@storybook/react"; import React from "react"; import Decorator from "../../storybook/Decorator"; import TableCellHeader, { TableCellHeaderArrowDirection } from "./TableCellHeader"; type Field = "name" | "type"; interface StoryProps { direction: TableCellHeaderArrowDirection; field?: Field; onHeaderClick?: (field: Field) => void; } const Story: React.FC = ({ direction, field = "name", onHeaderClick = () => undefined }) => ( onHeaderClick("name")} > Name onHeaderClick("type")} > Type Apple Juice Juice
); const InteractiveStory: React.FC = () => { const [direction, setDirection] = React.useState< TableCellHeaderArrowDirection >("asc"); const [field, setField] = React.useState("name"); const handleHeaderClick = (selectedField: Field) => { if (field === selectedField) { setDirection(direction === "asc" ? "desc" : "asc"); } else { setField(selectedField); setDirection("asc"); } }; return ( ); }; storiesOf("Generics / Table header", module) .addDecorator(Decorator) .add("ascending", () => ) .add("descending", () => ) .add("interactive", () => );