defmodule MoonWeb.Pages.Components.Select.SelectPage do @moduledoc false use MoonWeb, :live_view alias Moon.Components.Form alias Moon.Components.Select alias MoonWeb.Components.ExampleAndCode alias MoonWeb.Components.Page alias MoonWeb.Pages.Tutorials.AddDataUsingForm.User alias MoonWeb.Components.PropsTable alias MoonWeb.Components.Facing.DeprecationWarning data(gender_options, :any) data(breadcrumbs, :any, default: [ %{ to: "#", name: "Components" }, %{ to: "/components/select", name: "Select" } ] ) data(props_info_array, :list, default: [ %{ :name => ~c"field", :type => ~c"atom", :required => ~c"Yes", :default => ~c"-", :description => ~c"Field name for underlying surface select component" }, %{ :name => ~c"label", :type => ~c"string", :required => ~c"Yes", :default => ~c"-", :description => ~c"Label title" }, %{ :name => ~c"prompt", :type => ~c"string", :required => ~c"No", :default => ~c"-", :description => ~c"Placeholder" }, %{ :name => ~c"disabled", :type => ~c"boolean", :required => ~c"No", :default => ~c"false", :description => ~c"Whether the component is disabled" } ] ) def mount(_params, _session, socket) do gender_options = [ [key: "Female", value: "female"], [key: "Male", value: "male"], [key: "Invalid choice", value: "invalid"], [key: "I identify as God and this is not important", value: "god", disabled: true] ] user_changeset = User.changeset(%User{}) {:ok, assign(socket, gender_options: gender_options, user_changeset: user_changeset )} end def handle_params(_params, uri, socket) do {:noreply, assign(socket, uri: uri)} end def render(assigns) do ~F""" <:example>
<:code>{select_2_code()}
<:example>
""" end def select_2_code do """ alias Moon.Components.Select
""" end end