From ea6e72cbf3097d3a83fa8f40ffb5d5afcb3d1982 Mon Sep 17 00:00:00 2001 From: Christian Oswald Date: Wed, 18 Mar 2026 13:10:30 +0100 Subject: [PATCH] Bearbeiten der Postings funktioniert jetzt --- R/buchungen_mod.R | 8 ++++++-- db/development.sqlite | Bin 1011712 -> 1015808 bytes 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/R/buchungen_mod.R b/R/buchungen_mod.R index 4f98b22..8c0ddd8 100644 --- a/R/buchungen_mod.R +++ b/R/buchungen_mod.R @@ -23,6 +23,7 @@ buchungenServer <- function(id, conn) { postings_data <- reactiveVal(read_buch_tabelle(conn)) details_data <- reactiveVal(NULL) selected_trans_id <- reactiveVal(NULL) + current_main_idx <- reactiveVal(NULL) # Trigger-Objekt für das Modal: enthält post_id und einen Counter # Der Counter erzwingt eine Reaktion, auch wenn die gleiche ID zweimal geklickt wird @@ -34,12 +35,15 @@ buchungenServer <- function(id, conn) { # Haupttabelle rendern output$buchungen_table <- renderReactable({ req(postings_data()) - f_reactable(daten = postings_data(), coldefs = coldef_entries_tabelle, selection = "single") + f_reactable(daten = postings_data(), coldefs = coldef_entries_tabelle, + selection = "single", + defaultSelected = current_main_idx()) }) # Details laden wenn Zeile gewählt wird sel_details <- reactive(getReactableState("buchungen_table", "selected")) observeEvent(sel_details(), ignoreInit = T, { + current_main_idx(getReactableState("buchungen_table", "selected")) t_id <- postings_data()[sel_details(), "entry_id"] %>% pull() selected_trans_id(t_id) details_data(read_buch_tabelle(conn, trans_id = t_id)) @@ -59,7 +63,7 @@ buchungenServer <- function(id, conn) { # Event: Detail editieren (Klick auf Detail-Tabelle) sel_detail <- reactive(getReactableState("details_table", "selected")) observeEvent(sel_detail(), ignoreInit = T, { - p_id <- details_data()$id[sel] + p_id <- details_data()$id[sel_detail()] modal_trigger(list(post_id = p_id, counter = modal_trigger()$counter + 1)) }) diff --git a/db/development.sqlite b/db/development.sqlite index b27b36bb00723f8667982c1b1befdd8d07008f10..ae0bf5abec81d814ce13991c814114ab2ec9a6f2 100644 GIT binary patch delta 697 zcmYk0Ur19?9LLY^+;eyD{@i=qWNteD?1~Gu&_zRgD0P-DG}iiqFHw%9w1%P)L@#o0 z1VV(YE_fo^B9fkjsG;{o=&6T#P?NGf)L0QjWj#cc1yN@`WCuQc;LG{){prQsy55lv zh%E@AjjO>~;o2~=8ds%}8RhaDnf{B(g(N_k5BtzoltQ#!omWSMEUcjv3<*ojKMpbbN&F4p z!H2NV8X1RsK$M>_#a3Q`X6-r)CxC7a-0`RxJFa;uu*GVagd&vH;|WA|2oHq>{)Ol81e0~xY3 zxzuAV>#$l%y{30GKvaybn32&XA0ODaImi3*X5VW449{;1byA*5Y1{>KId|8P&y_^$y4807eW@_*ug&Hse|F8?*2Nt>kt zw(?J(aG!}?3n(euIA0D($u!O@2U60F^Fn}>RO38FASKy2w-QK6G|mldO4ydb$S5EV z&uU?u#SK*0$S_@D0;84$hb;R&_J!;@>^f{O*e0==vp!;7$Qr}4WxLk|Mp2gO z4wsqrCJV$1ZV#^EU(3ARdj{h+cX{@B1`~!#2L4U_Y5a10H~1#-dGRsv?%{dKvxFy> zM`E&Cg8X*-2aF2rEZi3u+&3qu=d!Ty8ZdZlzLKrR$j-r_s_M7Qee%Qv5#|c+ZIdtN zh_V~%82|&JXR}Fe57YJo?-^YdFe|XHp3Xjj$$@e8W