@@ -51,8 +51,9 @@ defmodule LiveDebugger.App.Debugger.CallbackTracing.Web.HookComponents.TraceWrap
5151 chevron_class = "w-5 h-5 text-accent-icon "
5252 class = { [ "max-w-full border rounded last:mb-4" , border_color_class ( @ trace_display ) ] }
5353 label_class = "font-semibold bg-surface-1-bg p-2 py-3 rounded "
54- phx-click = { if ( @ trace_display . render_body? , do: nil , else: "toggle-collapsible" ) }
54+ phx-click = "toggle-collapsible "
5555 phx-value-trace-id = { @ trace_display . id }
56+ phx-value-render-body = { @ trace_display . render_body? }
5657 >
5758 <: label >
5859 <%= render_slot ( @ label ) %>
@@ -96,7 +97,9 @@ defmodule LiveDebugger.App.Debugger.CallbackTracing.Web.HookComponents.TraceWrap
9697 |> halt ( )
9798 end
9899
99- defp handle_event ( "toggle-collapsible" , % { "trace-id" => string_trace_id } , socket ) do
100+ defp handle_event ( "toggle-collapsible" , % { "trace-id" => string_trace_id } = params , socket ) do
101+ render_body? = Map . has_key? ( params , "render-body" )
102+
100103 socket
101104 |> get_trace ( string_trace_id )
102105 |> case do
@@ -105,7 +108,7 @@ defmodule LiveDebugger.App.Debugger.CallbackTracing.Web.HookComponents.TraceWrap
105108 socket
106109
107110 trace ->
108- stream_insert_trace ( socket , trace )
111+ stream_insert_trace ( socket , trace , ! render_body? )
109112 end
110113 |> halt ( )
111114 end
@@ -133,11 +136,11 @@ defmodule LiveDebugger.App.Debugger.CallbackTracing.Web.HookComponents.TraceWrap
133136 )
134137 end
135138
136- defp stream_insert_trace ( socket , trace ) do
139+ defp stream_insert_trace ( socket , trace , render_body? ) do
137140 stream_insert (
138141 socket ,
139142 :existing_traces ,
140- trace |> TraceDisplay . from_trace ( ) |> TraceDisplay . render_body ( )
143+ trace |> TraceDisplay . from_trace ( ) |> TraceDisplay . render_body ( render_body? )
141144 )
142145 end
143146
0 commit comments