@@ -9,21 +9,17 @@ defmodule LiveDebugger.App.Debugger.Web.Components.ElixirDisplay do
99 alias LiveDebugger.App.Utils.TermNode.DisplayElement
1010 alias LiveDebugger.App.Utils.TermNode
1111
12- @ max_auto_expand_size 6
13-
1412 @ doc """
1513 Returns a tree of terms.
1614 """
1715
1816 attr ( :id , :string , required: true )
1917 attr ( :node , TermNode , required: true )
20- attr ( :level , :integer , default: 1 )
2118
2219 def term ( assigns ) do
2320 assigns =
2421 assigns
2522 |> assign ( :id , "#{ assigns . id } -#{ assigns . node . id } " )
26- |> assign ( :auto_open? , auto_open? ( assigns . node , assigns . level ) )
2723 |> assign ( :has_children? , TermNode . has_children? ( assigns . node ) )
2824
2925 ~H"""
@@ -34,7 +30,7 @@ defmodule LiveDebugger.App.Debugger.Web.Components.ElixirDisplay do
3430 < . collapsible
3531 :if = { @ has_children? }
3632 id = { @ id <> "collapsible" }
37- open = { @ auto_open ?}
33+ open = { @ node . open ?}
3834 icon = "icon-chevron-right "
3935 label_class = "max-w-max "
4036 chevron_class = "text-code-2 m-auto w-[2ch] h-[2ch] "
@@ -52,7 +48,7 @@ defmodule LiveDebugger.App.Debugger.Web.Components.ElixirDisplay do
5248
5349 < ol class = "m-0 ml-[2ch] block list-none p-0 " >
5450 < li :for = { { _ , child } <- @ node . children } class = "flex flex-col " >
55- < . term id = { @ id } node = { child } level = { @ level + 1 } />
51+ < . term id = { @ id } node = { child } />
5652 </ li >
5753 </ ol >
5854 < div class = "ml-[2ch] " >
@@ -80,10 +76,4 @@ defmodule LiveDebugger.App.Debugger.Web.Components.ElixirDisplay do
8076 defp text_item_color_class ( % DisplayElement { color: color } ) do
8177 if color , do: "#{ color } " , else: ""
8278 end
83-
84- defp auto_open? ( % TermNode { } , 1 ) , do: true
85-
86- defp auto_open? ( % TermNode { } = node , _level ) do
87- node . kind == :tuple and TermNode . children_number ( node ) <= @ max_auto_expand_size
88- end
8979end
0 commit comments