diff --git a/dashboard.py b/dashboard.py index 24957d6..5c23018 100644 --- a/dashboard.py +++ b/dashboard.py @@ -269,7 +269,7 @@ pane_gha1 = html.Div( inputfeld("s", "input-GHA1-s", "m", min=0), inputfeld("α₀", "input-GHA1-a", "°", min=0, max=360), - method_row("Analytisch", "cb-ana-1", "input-ana-1", ""), + method_row("Analytisch", "cb-ana-1", "input-ana-1", "70", info="Ordnung"), method_row("Numerisch", "cb-num-1", "input-num-n-1", "2000", info="Anzahl Schritte"), method_row("Stochastisch (ES)", "cb-stoch-1", "input-stoch-n-1", "1000", info="Länge Streckensegment [m]"), method_row("Approximiert", "cb-approx-1", "input-approx-ds-1", "1000", info="Länge Streckensegment [m]"), @@ -479,6 +479,13 @@ def switch_tabs(tab): return show1, show2 # Funktionen zum Aktivieren der Eingabefelder innerhalb der Checklisten +@app.callback( + Output("input-ana-1", "disabled"), + Input("cb-ana-1", "value"), +) +def toggle_ds(v): + return "on" not in (v or []) + @app.callback( Output("input-num-n-1", "disabled"), Input("cb-num-1", "value"), @@ -543,6 +550,7 @@ def gha1_method_hint(n, a, nu, ap): Output("store-gha1-ana", "data"), Input("calc-token-gha1", "data"), State("cb-ana-1", "value"), + State("input-ana-1", "value"), State("input-GHA1-beta0", "value"), State("input-GHA1-lamb0", "value"), State("input-GHA1-s", "value"), @@ -552,10 +560,13 @@ def gha1_method_hint(n, a, nu, ap): State("input-b", "value"), prevent_initial_call=True, ) -def compute_gha1_ana(n1, cb_ana, beta0, lamb0, s, a0, ax, ay, b): +def compute_gha1_ana(n1, cb_ana, n_in, beta0, lamb0, s, a0, ax, ay, b): out = html.Div([ html.H4("Erste Hauptaufgabe"), ]) + + n_in = int(n_in) if n_in else 70 + if not n1: return no_update, no_update if None in (ax, ay, b): @@ -574,7 +585,7 @@ def compute_gha1_ana(n1, cb_ana, beta0, lamb0, s, a0, ax, ay, b): s_val = float(s) P0 = ell.ell2cart(beta_rad, lamb_rad) - P1_ana, alpha2 = gha1_ana(ell, P0, alpha_rad, s_val, 70) + P1_ana, alpha2 = gha1_ana(ell, P0, alpha_rad, s_val, n_in) beta2_ana, lamb2_ana = ell.cart2ell(P1_ana) out = html.Div([