Refactor Indexer index to use react-window

(cherry picked from commit d022679b7dcbce3cec98e6a1fd0879e3c0d92523)
This commit is contained in:
Mark McDowall
2023-01-05 18:20:49 -08:00
committed by Qstick
parent c2599ef2e7
commit c0383ad5f5
314 changed files with 4928 additions and 3017 deletions
@@ -0,0 +1,39 @@
import React from 'react';
import Label from 'Components/Label';
import { IndexerCapabilities } from 'Indexer/Indexer';
interface CapabilitiesLabelProps {
capabilities: IndexerCapabilities;
categoryFilter?: number[];
}
function CapabilitiesLabel(props: CapabilitiesLabelProps) {
const { categoryFilter = [] } = props;
const { categories = [] } = props.capabilities;
let filteredList = categories.filter((item) => item.id < 100000);
if (categoryFilter.length > 0) {
filteredList = filteredList.filter(
(item) =>
categoryFilter.includes(item.id) ||
(item.subCategories &&
item.subCategories.some((r) => categoryFilter.includes(r.id)))
);
}
const nameList = filteredList.map((item) => item.name).sort();
return (
<span>
{nameList.map((category) => {
return <Label key={category}>{category}</Label>;
})}
{filteredList.length === 0 ? <Label>{'None'}</Label> : null}
</span>
);
}
export default CapabilitiesLabel;