davidpomerenke commited on
Commit
3018273
·
verified ·
1 Parent(s): d509a02

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.EQUALS }, // via global search
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