From a78eb241fa0a43073a4438ea21879057835917d4 Mon Sep 17 00:00:00 2001 From: Alan Guzek Date: Wed, 23 Apr 2025 10:29:51 +0200 Subject: [PATCH] remove multiple ids from components tree --- lib/live_debugger/components/tree.ex | 13 ++++++++++--- lib/live_debugger/live_views/sidebar_live.ex | 3 +++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/lib/live_debugger/components/tree.ex b/lib/live_debugger/components/tree.ex index 22b73b2e3..208490aba 100644 --- a/lib/live_debugger/components/tree.ex +++ b/lib/live_debugger/components/tree.ex @@ -17,6 +17,7 @@ defmodule LiveDebugger.Components.Tree do To calculate `max_opened_node_level` it uses `max_nesting_level/2` function. """ + attr(:id, :string, required: true, doc: "The id of the tree") attr(:tree_node, :any, required: true, doc: "The TreeNode struct to render") attr(:title, :string, required: true, doc: "The title of the tree") attr(:selected_node_id, :string, required: true, doc: "The id of the selected node") @@ -39,6 +40,7 @@ defmodule LiveDebugger.Components.Tree do
<.tree_node + tree_id={@id} tree_node={@tree_node} selected_node_id={@selected_node_id} root?={true} @@ -71,6 +73,7 @@ defmodule LiveDebugger.Components.Tree do |> elem(0) end + attr(:tree_id, :string, required: true) attr(:parent_dom_id, :string, default: nil) attr(:tree_node, :any, required: true) attr(:selected_node_id, :string, default: nil) @@ -91,7 +94,7 @@ defmodule LiveDebugger.Components.Tree do
<.collapsible :if={@collapsible?} - id={"collapsible-" <> @tree_node.parsed_id} + id={"collapsible-#{@tree_node.parsed_id}-#{@tree_id}"} chevron_class="text-accent-icon h-5 w-5" open={@open} label_class="w-full rounded-md py-1 hover:bg-surface-1-bg-hover" @@ -99,6 +102,7 @@ defmodule LiveDebugger.Components.Tree do > <:label> <.label + tree_id={@tree_id} selected?={@selected?} parent_dom_id={@parent_dom_id} node={@tree_node} @@ -109,6 +113,7 @@ defmodule LiveDebugger.Components.Tree do
<.tree_node :for={child <- @tree_node.children} + tree_id={@tree_id} parent_dom_id={if @tree_node[:dom_id], do: @tree_node.dom_id, else: @parent_dom_id} tree_node={child} selected_node_id={@selected_node_id} @@ -120,6 +125,7 @@ defmodule LiveDebugger.Components.Tree do <.label :if={not @collapsible?} + tree_id={@tree_id} selected?={@selected?} parent_dom_id={@parent_dom_id} node={@tree_node} @@ -131,6 +137,7 @@ defmodule LiveDebugger.Components.Tree do """ end + attr(:tree_id, :string, required: true) attr(:parent_dom_id, :string, required: true) attr(:node, :any, required: true) attr(:level, :integer, required: true) @@ -144,7 +151,7 @@ defmodule LiveDebugger.Components.Tree do ~H"""