diff --git a/recopytex/dashboard/student_analysis/app.py b/recopytex/dashboard/student_analysis/app.py index 10cee59..72f600f 100644 --- a/recopytex/dashboard/student_analysis/app.py +++ b/recopytex/dashboard/student_analysis/app.py @@ -97,10 +97,30 @@ layout = html.Div( children=[ html.H2("Évaluations"), html.Div( - id="describe", + dash_table.DataTable( + id="exam_scores", + columns=[ + {"id": "Nom", "name": "Évaluations"}, + {"id": "Note", "name": "Note"}, + {"id": "Bareme", "name": "Barème"}, + ], + data=[], + style_data_conditional=[ + { + "if": {"row_index": "odd"}, + "backgroundColor": "rgb(248, 248, 248)", + } + ], + style_data={ + "width": "100px", + "maxWidth": "100px", + "minWidth": "100px", + }, + ), + id="eval-table", ), html.Div( - id="eval-table", + id="describe", ), ], id="Évaluations", @@ -119,7 +139,6 @@ layout = html.Div( ] ), dcc.Store(id="student-scores"), - html.P(id="test"), ] ) @@ -183,13 +202,16 @@ def update_student_scores(tribe, student, term): @app.callback( [ - dash.dependencies.Output("test", "children"), + dash.dependencies.Output("exam_scores", "data"), ], [ dash.dependencies.Input("student-scores", "data"), ], ) -def update_test(data): - return [str(data)] - +def update_exam_scores(data): + scores = pd.DataFrame.from_records(data) + scores = pp_q_scores(scores) + assessment_scores = scores.groupby(["Nom"]).agg({"Note": "sum", "Bareme": "sum"}) + return [assessment_scores.reset_index().to_dict("records")] + return [{}]