Anki/react/src/ui/BrowseTable.tsx
Damien Elmes 82f0db7583 add a web UI proof of concept
See react/README
2020-01-06 14:28:07 +10:00

33 lines
811 B
TypeScript

import React from "react";
import { FixedSizeList } from "react-window";
import AutoSizer from "react-virtualized-auto-sizer";
import { Browser } from "anki/dist/browser";
import { BrowseRow } from "./BrowseRow";
interface BrowseTableProps {
browser: Browser | null;
}
export const BrowseTable: React.FC<BrowseTableProps> = ({ browser }) => {
if (!browser) {
return <div />;
} else {
return (
<AutoSizer>
{({ height, width }) => (
<div tabIndex={0}>
<FixedSizeList
height={height}
itemCount={browser.rows()}
itemSize={35}
width={width}
itemData={{ browser }}
>
{BrowseRow}
</FixedSizeList>
</div>
)}
</AutoSizer>
);
}
};