From 845ebc3bc61ceb36f5d21e10e4a7413e13048af6 Mon Sep 17 00:00:00 2001 From: shibao Date: Thu, 10 Feb 2022 23:36:31 -0500 Subject: [PATCH] typespec form components more --- lib/cannery_web/live/ammo_group_live/form_component.ex | 10 ++++++++-- lib/cannery_web/live/ammo_type_live/form_component.ex | 7 ++++++- lib/cannery_web/live/container_live/form_component.ex | 8 ++++++-- lib/cannery_web/live/invite_live/form_component.ex | 8 ++++++-- lib/cannery_web/live/tag_live/form_component.ex | 4 ++++ 5 files changed, 30 insertions(+), 7 deletions(-) diff --git a/lib/cannery_web/live/ammo_group_live/form_component.ex b/lib/cannery_web/live/ammo_group_live/form_component.ex index 3476b21b..b6f3c119 100644 --- a/lib/cannery_web/live/ammo_group_live/form_component.ex +++ b/lib/cannery_web/live/ammo_group_live/form_component.ex @@ -4,15 +4,21 @@ defmodule CanneryWeb.AmmoGroupLive.FormComponent do """ use CanneryWeb, :live_component - alias Cannery.{Ammo, Containers} - alias Cannery.{Ammo.AmmoType, Containers.Container} + alias Cannery.{Ammo, Accounts.User, Containers, Containers.Container} + alias Cannery.Ammo.{AmmoType, AmmoGroup} alias Ecto.Changeset + alias Phoenix.LiveView.Socket @impl true + @spec update( + %{:ammo_group => AmmoGroup.t(), :current_user => User.t(), optional(any) => any}, + Socket.t() + ) :: {:ok, Socket.t()} def update(%{ammo_group: _ammo_group} = assigns, socket) do socket |> assign(assigns) |> update() end + @spec update(Socket.t()) :: {:ok, Socket.t()} def update(%{assigns: %{ammo_group: ammo_group, current_user: current_user}} = socket) do changeset = Ammo.change_ammo_group(ammo_group) containers = Containers.list_containers(current_user) diff --git a/lib/cannery_web/live/ammo_type_live/form_component.ex b/lib/cannery_web/live/ammo_type_live/form_component.ex index 722cab80..72598862 100644 --- a/lib/cannery_web/live/ammo_type_live/form_component.ex +++ b/lib/cannery_web/live/ammo_type_live/form_component.ex @@ -4,10 +4,15 @@ defmodule CanneryWeb.AmmoTypeLive.FormComponent do """ use CanneryWeb, :live_component - alias Cannery.Ammo + alias Cannery.{Accounts.User, Ammo, Ammo.AmmoType} alias Ecto.Changeset + alias Phoenix.LiveView.Socket @impl true + @spec update( + %{:ammo_type => AmmoType.t(), :current_user => User.t(), optional(any) => any}, + Socket.t() + ) :: {:ok, Socket.t()} def update(%{ammo_type: ammo_type} = assigns, socket) do {:ok, socket |> assign(assigns) |> assign(:changeset, Ammo.change_ammo_type(ammo_type))} end diff --git a/lib/cannery_web/live/container_live/form_component.ex b/lib/cannery_web/live/container_live/form_component.ex index eedc56d5..837c4cda 100644 --- a/lib/cannery_web/live/container_live/form_component.ex +++ b/lib/cannery_web/live/container_live/form_component.ex @@ -4,11 +4,15 @@ defmodule CanneryWeb.ContainerLive.FormComponent do """ use CanneryWeb, :live_component - - alias Cannery.Containers + alias Cannery.{Accounts.User, Containers, Containers.Container} alias Ecto.Changeset + alias Phoenix.LiveView.Socket @impl true + @spec update( + %{:container => Container.t(), :current_user => User.t(), optional(any) => any}, + Socket.t() + ) :: {:ok, Socket.t()} def update(%{container: container} = assigns, socket) do assigns = assigns |> Map.put(:changeset, container |> Containers.change_container()) {:ok, socket |> assign(assigns)} diff --git a/lib/cannery_web/live/invite_live/form_component.ex b/lib/cannery_web/live/invite_live/form_component.ex index 8145b3c7..b833af17 100644 --- a/lib/cannery_web/live/invite_live/form_component.ex +++ b/lib/cannery_web/live/invite_live/form_component.ex @@ -4,11 +4,15 @@ defmodule CanneryWeb.InviteLive.FormComponent do """ use CanneryWeb, :live_component - - alias Cannery.Invites + alias Cannery.{Accounts.User, Invites, Invites.Invite} alias Ecto.Changeset + alias Phoenix.LiveView.Socket @impl true + @spec update( + %{:invite => Invite.t(), :current_user => User.t(), optional(any) => any}, + Socket.t() + ) :: {:ok, Socket.t()} def update(%{invite: invite} = assigns, socket) do changeset = Invites.change_invite(invite) diff --git a/lib/cannery_web/live/tag_live/form_component.ex b/lib/cannery_web/live/tag_live/form_component.ex index 12f32905..feb648ed 100644 --- a/lib/cannery_web/live/tag_live/form_component.ex +++ b/lib/cannery_web/live/tag_live/form_component.ex @@ -5,9 +5,13 @@ defmodule CanneryWeb.TagLive.FormComponent do use CanneryWeb, :live_component alias Cannery.Tags + alias Cannery.{Accounts.User, Tags.Tag} alias Ecto.Changeset + alias Phoenix.LiveView.Socket @impl true + @spec update(%{:tag => Tag.t(), :current_user => User.t(), optional(any) => any}, Socket.t()) :: + {:ok, Socket.t()} def update(%{tag: tag} = assigns, socket) do {:ok, socket |> assign(assigns) |> assign(:changeset, Tags.change_tag(tag))} end