Skip to content

Commit 062a262

Browse files
committed
Fix menu sub_items and sidebar hide_position crashes
Fixed #467 Sidebar component: - Add default: nil with values: ["left", "right", nil] to hide_position attr - Handle nil position in show_sidebar/hide_sidebar to return a no-op instead of crashing
1 parent eeb7883 commit 062a262

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

priv/components/sidebar.eex

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,9 @@ defmodule <%= @module %> do
6060
attr :position, :string, default: "start", doc: "Determines the element position"
6161

6262
attr :hide_position, :string,
63-
values: ["left", "right"],
64-
doc: "Determines what position should be hidden"
63+
default: nil,
64+
values: ["left", "right", nil],
65+
doc: "Determines what position should be hidden, accepts \"left\" or \"right\""
6566

6667
attr :class, :any, default: nil, doc: "Custom CSS class for additional styling"
6768
attr :hide_button_class, :string, default: nil, doc: "Custom CSS class for additional styling"
@@ -191,8 +192,10 @@ defmodule <%= @module %> do
191192
"""
192193

193194
def show_sidebar(js \\ %JS{}, id, position) when is_binary(id) do
194-
JS.remove_class(js, hide_position(position), to: "##{id}")
195-
|> JS.add_class("transform-none", to: "##{id}")
195+
case hide_position(position) do
196+
nil -> js
197+
classes -> JS.remove_class(js, classes, to: "##{id}") |> JS.add_class("transform-none", to: "##{id}")
198+
end
196199
end
197200

198201
@doc """
@@ -218,8 +221,10 @@ defmodule <%= @module %> do
218221
"""
219222

220223
def hide_sidebar(js \\ %JS{}, id, position) do
221-
JS.remove_class(js, "transform-none", to: "##{id}")
222-
|> JS.add_class(hide_position(position), to: "##{id}")
224+
case hide_position(position) do
225+
nil -> js
226+
classes -> JS.remove_class(js, "transform-none", to: "##{id}") |> JS.add_class(classes, to: "##{id}")
227+
end
223228
end
224229

225230
defp hide_position("left"), do: "-translate-x-full md:translate-x-0"

0 commit comments

Comments
 (0)