sh1gechan commited on
Commit
6d27f62
·
verified ·
1 Parent(s): 6125256

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +36 -27
app.py CHANGED
@@ -315,17 +315,17 @@ with gr.Blocks() as demo_leaderboard:
315
  shown_columns_dict[task_type.name] = shown_column
316
  with gr.Row():
317
  gr.Button("全選択", size="sm").click(
318
- fn=lambda t=task_type.name: toggle_category_columns(t, "all", shown_columns_dict),
319
- outputs=shown_column # 直接shown_columnを参照
320
  )
321
  gr.Button("全解除", size="sm").click(
322
- fn=lambda t=task_type.name: toggle_category_columns(t, "none", shown_columns_dict),
323
- outputs=shown_column # 直接shown_columnを参照
324
  )
325
  gr.Button("AVGのみ", size="sm").click(
326
- fn=lambda t=task_type.name: toggle_category_columns(t, "avg_only", shown_columns_dict),
327
- outputs=shown_column # 直接shown_columnを参照
328
- )
329
  # with gr.Row(height=110):
330
  # shown_column = gr.CheckboxGroup(
331
  # show_label=False,
@@ -447,27 +447,36 @@ with gr.Blocks() as demo_leaderboard:
447
  # Check query parameter once at startup and update search bar + hidden component
448
  demo_leaderboard.load(fn=load_query, outputs=[search_bar, hidden_search_bar])
449
 
450
- def toggle_category_columns(task_type: str, action: str, shown_columns_dict: dict):
451
- """カテゴリーごとのチェックボックスを制御する関数"""
452
- columns = [
453
- c.name for c in fields(AutoEvalColumn)
454
- if not c.hidden and not c.never_hidden and not c.dummy
455
- and c.task_type.name == task_type
456
- ]
457
-
458
- if action == "all":
459
- return columns
460
- elif action == "none":
461
- return []
462
- elif action == "avg_only":
463
- if task_type == TaskType.AVG.name:
464
- return columns # 全体AVGの場合
465
- return [
466
- c.name for c in fields(AutoEvalColumn)
467
- if not c.hidden and not c.never_hidden and c.average
468
- and c.task_type.name == task_type # カテゴリー別AVGの場合
469
  ]
470
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
471
 
472
  # Submission demo
473
 
 
315
  shown_columns_dict[task_type.name] = shown_column
316
  with gr.Row():
317
  gr.Button("全選択", size="sm").click(
318
+ fn=lambda: toggle_all_categories("all", shown_columns_dict),
319
+ outputs=[shown_columns_dict[task_type.name] for task_type in TaskType if task_type != TaskType.NotTask]
320
  )
321
  gr.Button("全解除", size="sm").click(
322
+ fn=lambda: toggle_all_categories("none", shown_columns_dict),
323
+ outputs=[shown_columns_dict[task_type.name] for task_type in TaskType if task_type != TaskType.NotTask]
324
  )
325
  gr.Button("AVGのみ", size="sm").click(
326
+ fn=lambda: toggle_all_categories("avg_only", shown_columns_dict),
327
+ outputs=[shown_columns_dict[task_type.name] for task_type in TaskType if task_type != TaskType.NotTask]
328
+ )
329
  # with gr.Row(height=110):
330
  # shown_column = gr.CheckboxGroup(
331
  # show_label=False,
 
447
  # Check query parameter once at startup and update search bar + hidden component
448
  demo_leaderboard.load(fn=load_query, outputs=[search_bar, hidden_search_bar])
449
 
450
+ def toggle_all_categories(action: str, shown_columns_dict: dict):
451
+ """全カテゴリーのチェックボックスを一括制御する関数"""
452
+ results = {}
453
+ for task_type in TaskType:
454
+ if task_type == TaskType.NotTask:
455
+ continue
456
+
457
+ columns = [
458
+ c.name
459
+ for c in fields(AutoEvalColumn)
460
+ if not c.hidden and not c.never_hidden and not c.dummy and c.task_type == task_type
 
 
 
 
 
 
 
 
461
  ]
462
+
463
+ if action == "all":
464
+ results[task_type.name] = columns
465
+ elif action == "none":
466
+ results[task_type.name] = []
467
+ elif action == "avg_only":
468
+ results[task_type.name] = [
469
+ c.name
470
+ for c in fields(AutoEvalColumn)
471
+ if not c.hidden and not c.never_hidden
472
+ and c.task_type == task_type
473
+ and (
474
+ (task_type == TaskType.AVG) or # AVGカテゴリの場合は全て
475
+ (task_type != TaskType.AVG and c.average) # その他のカテゴリはAVGのみ
476
+ )
477
+ ]
478
+
479
+ return [results[task_type.name] for task_type in TaskType if task_type != TaskType.NotTask]
480
 
481
  # Submission demo
482