Dry up Wishlist and Collection indexes by using a fallback index function
This commit is contained in:
@@ -33,45 +33,24 @@ defmodule MusicLibraryWeb.CollectionLive.Index do
|
||||
end
|
||||
|
||||
defp apply_action(socket, :import, params) do
|
||||
socket =
|
||||
if get_in(socket.assigns, [:streams, :records]) == nil do
|
||||
socket
|
||||
|> apply_action(:index, params)
|
||||
else
|
||||
socket
|
||||
end
|
||||
|
||||
socket
|
||||
|> apply_fallback_index(params)
|
||||
|> assign(:page_title, gettext("Add new Record · Collection"))
|
||||
|> assign(:record, nil)
|
||||
end
|
||||
|
||||
defp apply_action(socket, :barcode_scan, params) do
|
||||
socket =
|
||||
if get_in(socket.assigns, [:streams, :records]) == nil do
|
||||
socket
|
||||
|> apply_action(:index, params)
|
||||
else
|
||||
socket
|
||||
end
|
||||
|
||||
socket
|
||||
|> apply_fallback_index(params)
|
||||
|> assign(:page_title, gettext("Scan barcodes · Collection"))
|
||||
|> assign(:record, nil)
|
||||
end
|
||||
|
||||
defp apply_action(socket, :edit, %{"id" => id} = params) do
|
||||
socket =
|
||||
if get_in(socket.assigns, [:streams, :records]) == nil do
|
||||
socket
|
||||
|> apply_action(:index, params)
|
||||
else
|
||||
socket
|
||||
end
|
||||
|
||||
record = Records.get_record!(id)
|
||||
|
||||
socket
|
||||
|> apply_fallback_index(params)
|
||||
|> assign(:page_title, Show.page_title(socket.assigns.live_action, record))
|
||||
|> assign(:record, record)
|
||||
end
|
||||
@@ -90,6 +69,15 @@ defmodule MusicLibraryWeb.CollectionLive.Index do
|
||||
load_and_assign_records(socket, record_list_params)
|
||||
end
|
||||
|
||||
def apply_fallback_index(socket, params) do
|
||||
if get_in(socket.assigns, [:streams, :records]) == nil do
|
||||
socket
|
||||
|> apply_action(:index, params)
|
||||
else
|
||||
socket
|
||||
end
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_info({MusicLibraryWeb.FormComponent, {:saved, _record}}, socket) do
|
||||
{:noreply, load_and_assign_records(socket, socket.assigns.record_list_params)}
|
||||
|
||||
@@ -37,31 +37,17 @@ defmodule MusicLibraryWeb.WishlistLive.Index do
|
||||
end
|
||||
|
||||
defp apply_action(socket, :import, params) do
|
||||
socket =
|
||||
if get_in(socket.assigns, [:streams, :records]) == nil do
|
||||
socket
|
||||
|> apply_action(:index, params)
|
||||
else
|
||||
socket
|
||||
end
|
||||
|
||||
socket
|
||||
|> apply_fallback_index(params)
|
||||
|> assign(:page_title, gettext("Add new Record · Wishlist"))
|
||||
|> assign(:record, nil)
|
||||
end
|
||||
|
||||
defp apply_action(socket, :edit, %{"id" => id} = params) do
|
||||
socket =
|
||||
if get_in(socket.assigns, [:streams, :records]) == nil do
|
||||
socket
|
||||
|> apply_action(:index, params)
|
||||
else
|
||||
socket
|
||||
end
|
||||
|
||||
record = Records.get_record!(id)
|
||||
|
||||
socket
|
||||
|> apply_fallback_index(params)
|
||||
|> assign(:page_title, Show.page_title(socket.assigns.live_action, record))
|
||||
|> assign(:record, record)
|
||||
end
|
||||
@@ -78,6 +64,15 @@ defmodule MusicLibraryWeb.WishlistLive.Index do
|
||||
load_and_assign_records(socket, record_list_params)
|
||||
end
|
||||
|
||||
def apply_fallback_index(socket, params) do
|
||||
if get_in(socket.assigns, [:streams, :records]) == nil do
|
||||
socket
|
||||
|> apply_action(:index, params)
|
||||
else
|
||||
socket
|
||||
end
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_info({MusicLibraryWeb.FormComponent, {:saved, _record}}, socket) do
|
||||
{:noreply, load_and_assign_records(socket, socket.assigns.record_list_params)}
|
||||
|
||||
Reference in New Issue
Block a user