Upload from GitHub Actions: add filters
Browse files
frontend/src/components/LanguageTable.js
CHANGED
|
@@ -8,7 +8,7 @@ import ScoreColumns from './ScoreColumns'
|
|
| 8 |
|
| 9 |
const LanguageTable = ({ data, selectedLanguages, setSelectedLanguages, totalModels = 0 }) => {
|
| 10 |
const [filters, setFilters] = useState({
|
| 11 |
-
language_name: { value: null, matchMode: FilterMatchMode.
|
| 12 |
family: { value: null, matchMode: FilterMatchMode.IN },
|
| 13 |
speakers: { value: null, matchMode: FilterMatchMode.BETWEEN }
|
| 14 |
})
|
|
@@ -150,6 +150,8 @@ const LanguageTable = ({ data, selectedLanguages, setSelectedLanguages, totalMod
|
|
| 150 |
header='Language'
|
| 151 |
body={languageBodyTemplate}
|
| 152 |
style={{ minWidth: '10rem' }}
|
|
|
|
|
|
|
| 153 |
frozen
|
| 154 |
/>
|
| 155 |
<Column
|
|
|
|
| 8 |
|
| 9 |
const LanguageTable = ({ data, selectedLanguages, setSelectedLanguages, totalModels = 0 }) => {
|
| 10 |
const [filters, setFilters] = useState({
|
| 11 |
+
language_name: { value: null, matchMode: FilterMatchMode.CONTAINS },
|
| 12 |
family: { value: null, matchMode: FilterMatchMode.IN },
|
| 13 |
speakers: { value: null, matchMode: FilterMatchMode.BETWEEN }
|
| 14 |
})
|
|
|
|
| 150 |
header='Language'
|
| 151 |
body={languageBodyTemplate}
|
| 152 |
style={{ minWidth: '10rem' }}
|
| 153 |
+
filter
|
| 154 |
+
showFilterMatchModes={false}
|
| 155 |
frozen
|
| 156 |
/>
|
| 157 |
<Column
|
frontend/src/components/ModelTable.js
CHANGED
|
@@ -8,6 +8,8 @@ import { Slider } from 'primereact/slider'
|
|
| 8 |
import ScoreColumns from './ScoreColumns'
|
| 9 |
const ModelTable = ({ data, selectedLanguages = [], allLanguages = [], machineTranslatedMetrics = [] }) => {
|
| 10 |
const [filters, setFilters] = useState({
|
|
|
|
|
|
|
| 11 |
type: { value: null, matchMode: FilterMatchMode.IN },
|
| 12 |
size: { value: null, matchMode: FilterMatchMode.BETWEEN },
|
| 13 |
cost: { value: null, matchMode: FilterMatchMode.BETWEEN }
|
|
@@ -16,6 +18,25 @@ const ModelTable = ({ data, selectedLanguages = [], allLanguages = [], machineTr
|
|
| 16 |
return <Medal rank={rowData.rank} />
|
| 17 |
}
|
| 18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 19 |
const typeRowFilterTemplate = options => {
|
| 20 |
return (
|
| 21 |
<MultiSelect
|
|
@@ -220,12 +241,17 @@ const ModelTable = ({ data, selectedLanguages = [], allLanguages = [], machineTr
|
|
| 220 |
field='provider_name'
|
| 221 |
header='Provider'
|
| 222 |
style={{ minWidth: '7rem' }}
|
|
|
|
|
|
|
|
|
|
| 223 |
/>
|
| 224 |
<Column
|
| 225 |
field='name'
|
| 226 |
header='Model'
|
| 227 |
style={{ minWidth: '10rem' }}
|
| 228 |
body={modelBodyTemplate}
|
|
|
|
|
|
|
| 229 |
frozen
|
| 230 |
/>
|
| 231 |
<Column
|
|
|
|
| 8 |
import ScoreColumns from './ScoreColumns'
|
| 9 |
const ModelTable = ({ data, selectedLanguages = [], allLanguages = [], machineTranslatedMetrics = [] }) => {
|
| 10 |
const [filters, setFilters] = useState({
|
| 11 |
+
provider_name: { value: null, matchMode: FilterMatchMode.IN },
|
| 12 |
+
name: { value: null, matchMode: FilterMatchMode.CONTAINS },
|
| 13 |
type: { value: null, matchMode: FilterMatchMode.IN },
|
| 14 |
size: { value: null, matchMode: FilterMatchMode.BETWEEN },
|
| 15 |
cost: { value: null, matchMode: FilterMatchMode.BETWEEN }
|
|
|
|
| 18 |
return <Medal rank={rowData.rank} />
|
| 19 |
}
|
| 20 |
|
| 21 |
+
const providers = [...new Set(data.map(item => item.provider_name))].filter(Boolean).sort()
|
| 22 |
+
|
| 23 |
+
const providerRowFilterTemplate = options => {
|
| 24 |
+
return (
|
| 25 |
+
<MultiSelect
|
| 26 |
+
value={options.value}
|
| 27 |
+
options={providers}
|
| 28 |
+
onChange={e => {
|
| 29 |
+
options.filterApplyCallback(e.value)
|
| 30 |
+
setFilters(prevFilters => ({
|
| 31 |
+
...prevFilters,
|
| 32 |
+
provider_name: { value: e.value, matchMode: FilterMatchMode.IN }
|
| 33 |
+
}))
|
| 34 |
+
}}
|
| 35 |
+
placeholder='All providers'
|
| 36 |
+
/>
|
| 37 |
+
)
|
| 38 |
+
}
|
| 39 |
+
|
| 40 |
const typeRowFilterTemplate = options => {
|
| 41 |
return (
|
| 42 |
<MultiSelect
|
|
|
|
| 241 |
field='provider_name'
|
| 242 |
header='Provider'
|
| 243 |
style={{ minWidth: '7rem' }}
|
| 244 |
+
filter
|
| 245 |
+
filterElement={providerRowFilterTemplate}
|
| 246 |
+
showFilterMatchModes={false}
|
| 247 |
/>
|
| 248 |
<Column
|
| 249 |
field='name'
|
| 250 |
header='Model'
|
| 251 |
style={{ minWidth: '10rem' }}
|
| 252 |
body={modelBodyTemplate}
|
| 253 |
+
filter
|
| 254 |
+
showFilterMatchModes={false}
|
| 255 |
frozen
|
| 256 |
/>
|
| 257 |
<Column
|