Update app.py
Browse files
app.py
CHANGED
@@ -580,6 +580,31 @@ political_columns = [
|
|
580 |
}
|
581 |
]
|
582 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
583 |
# Add axes columns with different widths
|
584 |
for i, col in enumerate(AXES_COLS_1):
|
585 |
col_def = {
|
@@ -815,20 +840,32 @@ app.layout = html.Div([
|
|
815 |
|
816 |
# Additional Columns Filter
|
817 |
html.Div([
|
818 |
-
html.
|
819 |
-
|
820 |
-
|
821 |
-
|
822 |
-
|
823 |
-
|
824 |
-
|
825 |
-
|
826 |
-
|
827 |
-
|
828 |
-
|
829 |
-
|
830 |
-
|
831 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
832 |
], style={'marginBottom': '13px', 'padding': '0 20px', 'overflow': 'hidden'}),
|
833 |
|
834 |
# Grid
|
@@ -1044,33 +1081,35 @@ def update_grid(selected_types, show_na, pinned_rows):
|
|
1044 |
|
1045 |
@app.callback(
|
1046 |
Output('leaderboard-grid', 'columnDefs'),
|
1047 |
-
[Input('additional-columns-filter', 'value')
|
|
|
1048 |
)
|
1049 |
-
def update_columns(additional_columns):
|
1050 |
# Start with base columns up to UGI column
|
1051 |
-
current_columns = columnDefs[:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1052 |
|
1053 |
-
# Add UGI category columns if selected
|
1054 |
if 'ugi_categories' in additional_columns:
|
1055 |
current_columns.extend(ugi_category_columns)
|
1056 |
|
1057 |
-
|
1058 |
-
current_columns.extend(columnDefs[7:8]) # Add just the W/10 column
|
1059 |
|
1060 |
-
# Add W/10 type columns if selected
|
1061 |
if 'w10_types' in additional_columns:
|
1062 |
current_columns.extend(w10_type_columns)
|
1063 |
|
1064 |
-
# Add remaining base columns (NatInt, Coding, Political Lean)
|
1065 |
current_columns.extend(columnDefs[8:11])
|
1066 |
|
1067 |
-
# Add political columns if selected
|
1068 |
if 'political_axes' in additional_columns:
|
1069 |
current_columns.extend(political_columns)
|
1070 |
current_columns.extend([col for col in columnDefs if col['field'] in AXES_COLS_1])
|
1071 |
current_columns.extend([col for col in columnDefs if col['field'] in AXES_COLS_2])
|
1072 |
|
1073 |
-
# Always add date columns at the end
|
1074 |
current_columns.extend([col for col in columnDefs if col['field'] in ['Release Date', 'Test Date']])
|
1075 |
|
1076 |
return current_columns
|
|
|
580 |
}
|
581 |
]
|
582 |
|
583 |
+
template_column = {
|
584 |
+
"field": "Prompt Template",
|
585 |
+
"headerName": "Template",
|
586 |
+
"width": 150,
|
587 |
+
"filter": "agTextColumnFilter",
|
588 |
+
"filterParams": {
|
589 |
+
"defaultOption": "contains",
|
590 |
+
"filterOptions": ['contains', 'notContains', 'startsWith', 'endsWith']
|
591 |
+
},
|
592 |
+
"headerClass": "ag-left-aligned-header wrap-text",
|
593 |
+
"cellClass": "ag-left-aligned-cell",
|
594 |
+
"wrapHeaderText": True,
|
595 |
+
"autoHeaderHeight": True,
|
596 |
+
"comparator": {
|
597 |
+
"function": """
|
598 |
+
function(valueA, valueB) {
|
599 |
+
if (!valueA && !valueB) return 0;
|
600 |
+
if (!valueA) return 1;
|
601 |
+
if (!valueB) return -1;
|
602 |
+
return valueA.toLowerCase().localeCompare(valueB.toLowerCase());
|
603 |
+
}
|
604 |
+
"""
|
605 |
+
}
|
606 |
+
}
|
607 |
+
|
608 |
# Add axes columns with different widths
|
609 |
for i, col in enumerate(AXES_COLS_1):
|
610 |
col_def = {
|
|
|
840 |
|
841 |
# Additional Columns Filter
|
842 |
html.Div([
|
843 |
+
html.Div([
|
844 |
+
html.Label("Show Additional Columns:",
|
845 |
+
className="model-type-filter"),
|
846 |
+
dcc.Checklist(
|
847 |
+
id='additional-columns-filter',
|
848 |
+
options=[
|
849 |
+
{'label': 'UGI Categories', 'value': 'ugi_categories'},
|
850 |
+
{'label': 'W/10 Types', 'value': 'w10_types'},
|
851 |
+
{'label': 'Political Test Axes', 'value': 'political_axes'}
|
852 |
+
],
|
853 |
+
value=[],
|
854 |
+
inline=True,
|
855 |
+
style={'display': 'inline-block'},
|
856 |
+
labelStyle={'fontWeight': 'normal', 'marginRight': '15px'}
|
857 |
+
)
|
858 |
+
], style={'float': 'left'}),
|
859 |
+
html.Div([
|
860 |
+
dcc.Checklist(
|
861 |
+
id='template-filter',
|
862 |
+
options=[{'label': 'Template', 'value': 'template'}],
|
863 |
+
value=[],
|
864 |
+
inline=True,
|
865 |
+
style={'display': 'inline-block'},
|
866 |
+
labelStyle={'fontWeight': 'normal'}
|
867 |
+
)
|
868 |
+
], style={'float': 'right'})
|
869 |
], style={'marginBottom': '13px', 'padding': '0 20px', 'overflow': 'hidden'}),
|
870 |
|
871 |
# Grid
|
|
|
1081 |
|
1082 |
@app.callback(
|
1083 |
Output('leaderboard-grid', 'columnDefs'),
|
1084 |
+
[Input('additional-columns-filter', 'value'),
|
1085 |
+
Input('template-filter', 'value')]
|
1086 |
)
|
1087 |
+
def update_columns(additional_columns, template_filter):
|
1088 |
# Start with base columns up to UGI column
|
1089 |
+
current_columns = columnDefs[:6] # Include up to Model column
|
1090 |
+
|
1091 |
+
# Add Template column if selected
|
1092 |
+
if template_filter and 'template' in template_filter:
|
1093 |
+
current_columns.append(template_column)
|
1094 |
+
|
1095 |
+
# Rest of the function remains the same...
|
1096 |
+
current_columns.extend(columnDefs[6:7])
|
1097 |
|
|
|
1098 |
if 'ugi_categories' in additional_columns:
|
1099 |
current_columns.extend(ugi_category_columns)
|
1100 |
|
1101 |
+
current_columns.extend(columnDefs[7:8])
|
|
|
1102 |
|
|
|
1103 |
if 'w10_types' in additional_columns:
|
1104 |
current_columns.extend(w10_type_columns)
|
1105 |
|
|
|
1106 |
current_columns.extend(columnDefs[8:11])
|
1107 |
|
|
|
1108 |
if 'political_axes' in additional_columns:
|
1109 |
current_columns.extend(political_columns)
|
1110 |
current_columns.extend([col for col in columnDefs if col['field'] in AXES_COLS_1])
|
1111 |
current_columns.extend([col for col in columnDefs if col['field'] in AXES_COLS_2])
|
1112 |
|
|
|
1113 |
current_columns.extend([col for col in columnDefs if col['field'] in ['Release Date', 'Test Date']])
|
1114 |
|
1115 |
return current_columns
|