gremlin97 commited on
Commit
dd6bfef
·
1 Parent(s): c144126

Keep column selector for base columns, use dataset/metric filters for data columns

Browse files
Files changed (1) hide show
  1. app.py +38 -8
app.py CHANGED
@@ -99,6 +99,15 @@ def build_tab(df, name):
99
  elem_id="search-bar"
100
  )
101
 
 
 
 
 
 
 
 
 
 
102
  # Set datatype to 'markdown' for First Author column to enable clickable links
103
  datatypes = []
104
  for col in pivoted_df.columns:
@@ -148,7 +157,7 @@ def build_tab(df, name):
148
  elem_classes="filter-group"
149
  )
150
 
151
- def update(search, md, org, dset, metrics):
152
  filtered = pivoted_df.copy()
153
 
154
  if search:
@@ -160,8 +169,13 @@ def build_tab(df, name):
160
  if org:
161
  filtered = filtered[filtered["Organization"].isin(org)]
162
 
163
- # Filter by dataset and metric - hide columns that don't match
164
- display_cols = ["Model", "Organization", "First Author"]
 
 
 
 
 
165
 
166
  # Add metric columns that match selected datasets and metrics
167
  for col in metric_combo_cols:
@@ -175,11 +189,12 @@ def build_tab(df, name):
175
 
176
  return filtered
177
 
178
- search_bar.change(update, [search_bar, model_filter, org_filter, dataset_filter, metric_filter], table)
179
- model_filter.change(update, [search_bar, model_filter, org_filter, dataset_filter, metric_filter], table)
180
- org_filter.change(update, [search_bar, model_filter, org_filter, dataset_filter, metric_filter], table)
181
- dataset_filter.change(update, [search_bar, model_filter, org_filter, dataset_filter, metric_filter], table)
182
- metric_filter.change(update, [search_bar, model_filter, org_filter, dataset_filter, metric_filter], table)
 
183
 
184
 
185
  custom_css = """
@@ -261,6 +276,21 @@ custom_css = """
261
  .filter-group label {
262
  font-size: 14px;
263
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
264
  """
265
 
266
  TITLE = """<h1 align="center" id="space-title">MarsBench Leaderboard</h1>"""
 
99
  elem_id="search-bar"
100
  )
101
 
102
+ # Column selector for base columns only (not dataset+metric combos)
103
+ base_cols = ["Model", "Organization", "First Author"]
104
+ col_selector = gr.CheckboxGroup(
105
+ choices=base_cols,
106
+ value=base_cols,
107
+ label="Select Columns to Display:",
108
+ elem_classes="column-select"
109
+ )
110
+
111
  # Set datatype to 'markdown' for First Author column to enable clickable links
112
  datatypes = []
113
  for col in pivoted_df.columns:
 
157
  elem_classes="filter-group"
158
  )
159
 
160
+ def update(search, md, org, dset, metrics, cols):
161
  filtered = pivoted_df.copy()
162
 
163
  if search:
 
169
  if org:
170
  filtered = filtered[filtered["Organization"].isin(org)]
171
 
172
+ # Build display columns based on selected base columns and dataset/metric filters
173
+ display_cols = []
174
+
175
+ # Add selected base columns
176
+ for col in cols:
177
+ if col in base_cols:
178
+ display_cols.append(col)
179
 
180
  # Add metric columns that match selected datasets and metrics
181
  for col in metric_combo_cols:
 
189
 
190
  return filtered
191
 
192
+ search_bar.change(update, [search_bar, model_filter, org_filter, dataset_filter, metric_filter, col_selector], table)
193
+ model_filter.change(update, [search_bar, model_filter, org_filter, dataset_filter, metric_filter, col_selector], table)
194
+ org_filter.change(update, [search_bar, model_filter, org_filter, dataset_filter, metric_filter, col_selector], table)
195
+ dataset_filter.change(update, [search_bar, model_filter, org_filter, dataset_filter, metric_filter, col_selector], table)
196
+ metric_filter.change(update, [search_bar, model_filter, org_filter, dataset_filter, metric_filter, col_selector], table)
197
+ col_selector.change(update, [search_bar, model_filter, org_filter, dataset_filter, metric_filter, col_selector], table)
198
 
199
 
200
  custom_css = """
 
276
  .filter-group label {
277
  font-size: 14px;
278
  }
279
+
280
+ .column-select {
281
+ margin-bottom: 1.5em;
282
+ }
283
+
284
+ .column-select label {
285
+ display: flex;
286
+ flex-wrap: wrap;
287
+ gap: 0.5em;
288
+ }
289
+
290
+ .column-select label > span {
291
+ display: inline-flex;
292
+ align-items: center;
293
+ }
294
  """
295
 
296
  TITLE = """<h1 align="center" id="space-title">MarsBench Leaderboard</h1>"""