import { DataTable } from 'primereact/datatable';
import { Column } from 'primereact/column';
import { FilterMatchMode } from 'primereact/api';
import { MultiSelect } from 'primereact/multiselect';
import { useState } from 'react';
import Medal from './Medal';
const ModelTable = ({ data }) => {
const [filters, setFilters] = useState({
"provider": { value: null, matchMode: FilterMatchMode.IN },
"model": { value: null, matchMode: FilterMatchMode.CONTAINS }
});
const table = data.model_table;
const rankBodyTemplate = (rowData) => {
return ;
};
const providers = [...new Set(table.map(item => item.provider))];
const providerRowFilterTemplate = (options) => {
return (
{
options.filterApplyCallback(e.value);
setFilters(prevFilters => ({
...prevFilters,
provider: { value: e.value, matchMode: FilterMatchMode.IN }
}));
}}
placeholder="All providers"
/>
);
};
const sizeBodyTemplate = (rowData) => {
const size = rowData.size;
if (size === null) {
return N/A
;
}
let sizeStr;
if (size < 1000) {
sizeStr = size.toFixed(0) + "";
} else if (size < 1000 * 1000) {
sizeStr = (size / 1000).toFixed(0) + "K";
} else if (size < 1000 * 1000 * 1000) {
sizeStr = (size / 1000 / 1000).toFixed(0) + "M";
} else {
sizeStr = (size / 1000 / 1000 / 1000).toFixed(0) + "B";
}
return {sizeStr}
;
};
const modelBodyTemplate = (rowData) => {
// bold
return {rowData.model}
;
};
return (
AI Models>} sortField="average" removableSort filters={filters} filterDisplay="menu" scrollable scrollHeight="500px">
);
};
export default ModelTable;