diff --git a/src/pages/dashboard.py b/src/pages/dashboard.py index 15e35c21458b2ad4eee60703a9e5435172f370f3..22183a0cda5d31d2c3a101390d06e65391d488c1 100644 --- a/src/pages/dashboard.py +++ b/src/pages/dashboard.py @@ -852,41 +852,6 @@ def generate_jobs_table(user_id=None, language_id=0): ], style={'border': '1px solid black', 'border-width': '1px'}) -def get_results_from_db(user_id=None, language_id=0): - data_from_db = [] - if user_id: - conn = sqlite3.connect(DATA_PATH.joinpath('destine_de370c_users.db')) - cur = conn.cursor() - cur.execute(f"SELECT * FROM results WHERE user_id={user_id}") - data_rows_from_db = cur.fetchall() - conn.close() - - for result in data_rows_from_db: - data_from_db.append({guitr.results_columns[language_id][0]: result[0], - guitr.results_columns[language_id][1]: result[2], - guitr.results_columns[language_id][2]: guitr.application_text[language_id][result[3]], - guitr.results_columns[language_id][3]: result[4]}) - return data_from_db - - -def generate_results_table(user_id=None, language_id=0): - data_from_db = get_results_from_db(user_id, language_id) - - return html.Div([ - dash_table.DataTable( - id='results-tbl-interactive', - columns=[ - {"name": i, "id": i} for i in guitr.results_columns[language_id]], - data=data_from_db, - style_header={"fontWeight": "bold"}, - filter_action="native", - row_selectable="single", - sort_action="native", - sort_mode="multi", - ), - html.Div(id='results-tbl'), - ], style={'border': '1px solid black', 'border-width': '1px'}) - def create_tabs_layout(user_id=None, language_id=0): lhide = True @@ -908,13 +873,6 @@ def create_tabs_layout(user_id=None, language_id=0): generate_ml_fcast_output_modal(language_id=language_id), generate_eurad_scen_output_modal(container_id="eurad_scen_output_modal_container", language_id=language_id) ], tab_style={"font-size":"40px"}, disabled=lhide), - # tab for "Results" - dbc.Tab(label=guitr.layout_cards[language_id][3], id="results_tab", children=[ - generate_results_table(user_id=user_id, language_id=language_id), - eurad_im_result_modal, - ml_fcast_result_modal, - generate_eurad_scen_result_modal(container_id="eurad_scen_result_modal_container", language_id=language_id) - ], tab_style={"font-size":"40px"}, disabled=lhide) ], id='layout_tabs') @@ -926,8 +884,6 @@ layout = html.Div([ dcc.Store(id='user-info'), # dcc.Store stores the jobs information dcc.Store(id='job-info'), - # dcc.Store stores the results information - dcc.Store(id='results-info'), # dcc.Store stores the plots information dcc.Store(id='plot-info'), ]) @@ -990,7 +946,6 @@ def register_open(n1, n2, n3, login_is_open): @callback( Output("tbl-interactive", "data"), - Output("results-tbl-interactive", "data"), Output("my_jobs_tab", "children", allow_duplicate=True), Input("user-info", "data"), prevent_initial_call=True @@ -998,7 +953,7 @@ def register_open(n1, n2, n3, login_is_open): def get_user_id(user_dict): user_id = json.loads(user_dict)["user_id"] language_id = json.loads(user_dict)["language_id"] - return get_my_jobs_from_db(user_id, language_id), get_results_from_db(user_id, language_id),\ + return get_my_jobs_from_db(user_id, language_id), \ [generate_jobs_table(user_id=user_id, language_id=language_id), generate_eurad_im_output_modal(language_id=language_id), generate_ml_fcast_output_modal(language_id=language_id), @@ -1380,69 +1335,3 @@ def get_jobs(jobs_dict, users_dict): eurad_scen_output_modal = dash.no_update return eurad_im_output_modal, ml_fcast_output_modal, eurad_scen_output_modal - -@callback( - # Output("eurad_im_output_modal_title", "value"), - # Output("eurad_im_output_modal", "is_open"), - Output("eurad_im_result_modal_container", "children"), - Output("ml_fcast_result_modal_container", "children"), - Output("eurad_scen_result_modal_container", "children"), - Input("results-info", "data"), - State("user-info", "data"), - prevent_initial_call=True -) -def get_results(results_dict, users_dict): - jobnr = json.loads(results_dict)["jobnr"] - try: - language_id = json.loads(users_dict)["language_id"] - except: - language_id = 0 - eurad_im_result_modal_isopen = json.loads(results_dict)["eurad_im_output_modal_isopen"] - ml_fcast_result_modal_isopen = json.loads(results_dict)["ml_fcast_output_modal_isopen"] - eurad_scen_result_modal_isopen = json.loads(results_dict)["eurad_scen_output_modal_isopen"] - if eurad_im_result_modal_isopen: - eurad_im_result_modal = generate_eurad_im_output_modal(jobnr, eurad_im_result_modal_isopen, language_id) - else: - eurad_im_result_modal = dash.no_update - if ml_fcast_result_modal_isopen: - ml_fcast_result_modal = generate_ml_fcast_output_modal(jobnr, ml_fcast_result_modal_isopen, language_id) - else: - ml_fcast_result_modal = dash.no_update - if eurad_scen_result_modal_isopen: - eurad_scen_result_modal = generate_eurad_scen_result_modal("eurad_scene_result_modal_container", jobnr, - eurad_scen_result_modal_isopen, language_id) - else: - eurad_scen_result_modal = dash.no_update - return eurad_im_result_modal, ml_fcast_result_modal, eurad_scen_result_modal - - -@callback( - Output('results-info', "data"), - State('results-tbl-interactive', "derived_virtual_data"), - Input('results-tbl-interactive', "derived_virtual_selected_rows"), - State('user-info', "data"), - prevent_initial_call=True -) -def postprocess_result(rows, derived_virtual_selected_rows, user_dict): - try: - language_id = json.loads(user_dict)["language_id"] - except: - language_id = 0 - resultinfo_dict = {} - eurad_im_output_modal_isopen = False - ml_fcast_output_modal_isopen = False - eurad_scen_output_modal_isopen = False - jobnr = "bla" - if derived_virtual_selected_rows != []: - application = rows[derived_virtual_selected_rows[0]][guitr.results_columns[language_id][2]] - jobnr = rows[derived_virtual_selected_rows[0]]["Jobnr"] - eurad_im_output_modal_isopen = (application == guitr.application_text[language_id][0]) - ml_fcast_output_modal_isopen = (application == guitr.application_text[language_id][1]) - eurad_scen_output_modal_isopen = (application == guitr.application_text[language_id][2]) - resultinfo_dict["jobnr"] = jobnr - resultinfo_dict["eurad_im_output_modal_isopen"] = eurad_im_output_modal_isopen - resultinfo_dict["ml_fcast_output_modal_isopen"] = ml_fcast_output_modal_isopen - resultinfo_dict["eurad_scen_output_modal_isopen"] = eurad_scen_output_modal_isopen - resultinfo_json = json.dumps(resultinfo_dict) - return resultinfo_json - diff --git a/src/pages/dashboard_translations.py b/src/pages/dashboard_translations.py index 2984d469f3afa55b80895df4ed2d11b7d44d0bee..ef64b51ca447a6b2ccbb387f94783c2cf6333a1b 100644 --- a/src/pages/dashboard_translations.py +++ b/src/pages/dashboard_translations.py @@ -1,7 +1,7 @@ from dash import html -layout_cards = [["Description", "Create Forecasts", "My Model Runs", "My Results"], - ["Beschreibung", "Erstelle Vorhersagen", "Meine Modellläufe", "Meine Auswertungen"]] +layout_cards = [["Description", "Create Forecasts", "My Model Runs"], + ["Beschreibung", "Erstelle Vorhersagen", "Meine Modellläufe"]] description = [["The DestinE Air Quality Use Case demonstrates interactive triggering of advanced forecasting " "and analysis workflows for air quality.", html.Br(),