Skip to content

Commit e292ecd

Browse files
authored
Enhancement: Remove Trace body from DOM on collapsible close (#818)
1 parent b784f26 commit e292ecd

File tree

2 files changed

+11
-8
lines changed

2 files changed

+11
-8
lines changed

lib/live_debugger/app/debugger/callback_tracing/structs/trace_display.ex

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,9 @@ defmodule LiveDebugger.App.Debugger.CallbackTracing.Structs.TraceDisplay do
6060
}
6161
end
6262

63-
@spec render_body(t()) :: t()
64-
def render_body(%__MODULE__{} = trace) do
65-
Map.put(trace, :render_body?, true)
63+
@spec render_body(t(), boolean()) :: t()
64+
def render_body(%__MODULE__{} = trace, value? \\ true) do
65+
Map.put(trace, :render_body?, value?)
6666
end
6767

6868
@spec short_content(t(), boolean()) :: String.t()

lib/live_debugger/app/debugger/callback_tracing/web/hook_components/trace_wrapper.ex

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)