defmodule MoonWeb.Examples.Design.CarouselExample.SelectIndex do @moduledoc false use Moon.StatefulComponent use MoonWeb, :example alias Moon.Design.MenuItem alias Moon.Design.Carousel prop(item_count, :integer, default: 4) prop(value, :integer, default: 0) defp get_items(item_count) do 0..item_count |> Enum.to_list() end def render(assigns) do ~F"""
{item}
0 1 2 3 4
""" end def handle_event("set_selected_index", %{"value" => item}, socket) do socket = assign(socket, value: String.to_integer(item)) {:noreply, socket} end def code() do """ alias Moon.Design.MenuItem alias Moon.Design.Carousel prop(item_count, :integer, default: 4) prop(value, :integer, default: 0) defp get_items(item_count) do 0..item_count |> Enum.to_list() end def render(assigns) do ~F\"""
{item}
0 1 2 3 4
\""" end def handle_event("set_selected_index", %{"value" => item}, socket) do socket = assign(socket, value: String.to_integer(item)) {:noreply, socket} end """ end end