@@ -202,14 +202,14 @@ defmodule MusicLibraryWeb.CollectionLive.Index do
|
|||||||
|
|
||||||
defp apply_action(socket, :import, params) do
|
defp apply_action(socket, :import, params) do
|
||||||
socket
|
socket
|
||||||
|> apply_fallback_index(params)
|
|> apply_fallback_index(params, :records, &apply_action/3)
|
||||||
|> assign(:page_title, gettext("Add new Record · Collection"))
|
|> assign(:page_title, gettext("Add new Record · Collection"))
|
||||||
|> assign(:record, nil)
|
|> assign(:record, nil)
|
||||||
end
|
end
|
||||||
|
|
||||||
defp apply_action(socket, :barcode_scan, params) do
|
defp apply_action(socket, :barcode_scan, params) do
|
||||||
socket
|
socket
|
||||||
|> apply_fallback_index(params)
|
|> apply_fallback_index(params, :records, &apply_action/3)
|
||||||
|> assign(:page_title, gettext("Scan barcodes · Collection"))
|
|> assign(:page_title, gettext("Scan barcodes · Collection"))
|
||||||
|> assign(:record, nil)
|
|> assign(:record, nil)
|
||||||
end
|
end
|
||||||
@@ -218,7 +218,7 @@ defmodule MusicLibraryWeb.CollectionLive.Index do
|
|||||||
record = Records.get_record!(id)
|
record = Records.get_record!(id)
|
||||||
|
|
||||||
socket
|
socket
|
||||||
|> apply_fallback_index(params)
|
|> apply_fallback_index(params, :records, &apply_action/3)
|
||||||
|> assign(:page_title, Show.page_title(socket.assigns.live_action, record))
|
|> assign(:page_title, Show.page_title(socket.assigns.live_action, record))
|
||||||
|> assign(:record, record)
|
|> assign(:record, record)
|
||||||
end
|
end
|
||||||
@@ -237,15 +237,6 @@ defmodule MusicLibraryWeb.CollectionLive.Index do
|
|||||||
load_and_assign_records(socket, record_list_params)
|
load_and_assign_records(socket, record_list_params)
|
||||||
end
|
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
|
@impl true
|
||||||
def handle_info({MusicLibraryWeb.Components.RecordForm, {:saved, _record}}, socket) do
|
def handle_info({MusicLibraryWeb.Components.RecordForm, {:saved, _record}}, socket) do
|
||||||
{:noreply, load_and_assign_records(socket, socket.assigns.record_list_params)}
|
{:noreply, load_and_assign_records(socket, socket.assigns.record_list_params)}
|
||||||
|
|||||||
@@ -306,21 +306,21 @@ defmodule MusicLibraryWeb.RecordSetLive.Index do
|
|||||||
|
|
||||||
defp apply_action(socket, :edit, %{"id" => id} = params) do
|
defp apply_action(socket, :edit, %{"id" => id} = params) do
|
||||||
socket
|
socket
|
||||||
|> apply_fallback_index(params)
|
|> apply_fallback_index(params, :record_sets, &apply_action/3)
|
||||||
|> assign(:page_title, gettext("Edit Set"))
|
|> assign(:page_title, gettext("Edit Set"))
|
||||||
|> assign(:record_set, RecordSets.get_record_set!(id))
|
|> assign(:record_set, RecordSets.get_record_set!(id))
|
||||||
end
|
end
|
||||||
|
|
||||||
defp apply_action(socket, :new, params) do
|
defp apply_action(socket, :new, params) do
|
||||||
socket
|
socket
|
||||||
|> apply_fallback_index(params)
|
|> apply_fallback_index(params, :record_sets, &apply_action/3)
|
||||||
|> assign(:page_title, gettext("New Set"))
|
|> assign(:page_title, gettext("New Set"))
|
||||||
|> assign(:record_set, %RecordSet{})
|
|> assign(:record_set, %RecordSet{})
|
||||||
end
|
end
|
||||||
|
|
||||||
defp apply_action(socket, :add_record, %{"id" => id} = params) do
|
defp apply_action(socket, :add_record, %{"id" => id} = params) do
|
||||||
socket
|
socket
|
||||||
|> apply_fallback_index(params)
|
|> apply_fallback_index(params, :record_sets, &apply_action/3)
|
||||||
|> assign(:page_title, gettext("Add Record"))
|
|> assign(:page_title, gettext("Add Record"))
|
||||||
|> assign(:record_set, RecordSets.get_record_set!(id))
|
|> assign(:record_set, RecordSets.get_record_set!(id))
|
||||||
end
|
end
|
||||||
@@ -339,15 +339,6 @@ defmodule MusicLibraryWeb.RecordSetLive.Index do
|
|||||||
load_and_assign_sets(socket, list_params)
|
load_and_assign_sets(socket, list_params)
|
||||||
end
|
end
|
||||||
|
|
||||||
defp apply_fallback_index(socket, params) do
|
|
||||||
if get_in(socket.assigns, [:streams, :record_sets]) == nil do
|
|
||||||
socket
|
|
||||||
|> apply_action(:index, params)
|
|
||||||
else
|
|
||||||
socket
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
defp load_and_assign_sets(socket, list_params) do
|
defp load_and_assign_sets(socket, list_params) do
|
||||||
offset = page_to_offset(list_params.page, list_params.page_size)
|
offset = page_to_offset(list_params.page, list_params.page_size)
|
||||||
|
|
||||||
|
|||||||
@@ -163,14 +163,14 @@ defmodule MusicLibraryWeb.ScrobbleRulesLive.Index do
|
|||||||
|
|
||||||
defp apply_action(socket, :edit, %{"id" => id} = params) do
|
defp apply_action(socket, :edit, %{"id" => id} = params) do
|
||||||
socket
|
socket
|
||||||
|> apply_fallback_index(params)
|
|> apply_fallback_index(params, :scrobble_rules, &apply_action/3)
|
||||||
|> assign(:page_title, gettext("Edit Scrobble Rule"))
|
|> assign(:page_title, gettext("Edit Scrobble Rule"))
|
||||||
|> assign(:scrobble_rule, ScrobbleRules.get_scrobble_rule!(id))
|
|> assign(:scrobble_rule, ScrobbleRules.get_scrobble_rule!(id))
|
||||||
end
|
end
|
||||||
|
|
||||||
defp apply_action(socket, :new, params) do
|
defp apply_action(socket, :new, params) do
|
||||||
socket
|
socket
|
||||||
|> apply_fallback_index(params)
|
|> apply_fallback_index(params, :scrobble_rules, &apply_action/3)
|
||||||
|> assign(:page_title, gettext("New Scrobble Rule"))
|
|> assign(:page_title, gettext("New Scrobble Rule"))
|
||||||
|> assign(:scrobble_rule, %ScrobbleRule{})
|
|> assign(:scrobble_rule, %ScrobbleRule{})
|
||||||
end
|
end
|
||||||
@@ -185,15 +185,6 @@ defmodule MusicLibraryWeb.ScrobbleRulesLive.Index do
|
|||||||
load_and_assign_rules(socket, list_params)
|
load_and_assign_rules(socket, list_params)
|
||||||
end
|
end
|
||||||
|
|
||||||
def apply_fallback_index(socket, params) do
|
|
||||||
if get_in(socket.assigns, [:streams, :scrobble_rules]) == nil do
|
|
||||||
socket
|
|
||||||
|> apply_action(:index, params)
|
|
||||||
else
|
|
||||||
socket
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
defp load_and_assign_rules(socket, list_params) do
|
defp load_and_assign_rules(socket, list_params) do
|
||||||
offset = page_to_offset(list_params.page, list_params.page_size)
|
offset = page_to_offset(list_params.page, list_params.page_size)
|
||||||
|
|
||||||
|
|||||||
@@ -232,7 +232,7 @@ defmodule MusicLibraryWeb.ScrobbledTracksLive.Index do
|
|||||||
track = ScrobbleActivity.get_track!(id)
|
track = ScrobbleActivity.get_track!(id)
|
||||||
|
|
||||||
socket
|
socket
|
||||||
|> apply_fallback_index(params)
|
|> apply_fallback_index(params, :tracks, &apply_action/3)
|
||||||
|> assign(:page_title, gettext("Edit Track"))
|
|> assign(:page_title, gettext("Edit Track"))
|
||||||
|> assign(:track, track)
|
|> assign(:track, track)
|
||||||
|> assign(:form, to_form(Track.changeset(track, %{})))
|
|> assign(:form, to_form(Track.changeset(track, %{})))
|
||||||
@@ -252,15 +252,6 @@ defmodule MusicLibraryWeb.ScrobbledTracksLive.Index do
|
|||||||
load_and_assign_tracks(socket, track_list_params)
|
load_and_assign_tracks(socket, track_list_params)
|
||||||
end
|
end
|
||||||
|
|
||||||
def apply_fallback_index(socket, params) do
|
|
||||||
if get_in(socket.assigns, [:streams, :tracks]) == nil do
|
|
||||||
socket
|
|
||||||
|> apply_action(:index, params)
|
|
||||||
else
|
|
||||||
socket
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def handle_info({MusicLibraryWeb.ScrobbledTracksLive.Form, {:saved, _track}}, socket) do
|
def handle_info({MusicLibraryWeb.ScrobbledTracksLive.Form, {:saved, _track}}, socket) do
|
||||||
{:noreply, load_and_assign_tracks(socket, socket.assigns.track_list_params)}
|
{:noreply, load_and_assign_tracks(socket, socket.assigns.track_list_params)}
|
||||||
|
|||||||
@@ -179,7 +179,7 @@ defmodule MusicLibraryWeb.WishlistLive.Index do
|
|||||||
import_query = params["import_query"] || ""
|
import_query = params["import_query"] || ""
|
||||||
|
|
||||||
socket
|
socket
|
||||||
|> apply_fallback_index(params)
|
|> apply_fallback_index(params, :records, &apply_action/3)
|
||||||
|> assign(:page_title, gettext("Add new Record · Wishlist"))
|
|> assign(:page_title, gettext("Add new Record · Wishlist"))
|
||||||
|> assign(:import_query, import_query)
|
|> assign(:import_query, import_query)
|
||||||
|> assign(:record, nil)
|
|> assign(:record, nil)
|
||||||
@@ -189,7 +189,7 @@ defmodule MusicLibraryWeb.WishlistLive.Index do
|
|||||||
record = Records.get_record!(id)
|
record = Records.get_record!(id)
|
||||||
|
|
||||||
socket
|
socket
|
||||||
|> apply_fallback_index(params)
|
|> apply_fallback_index(params, :records, &apply_action/3)
|
||||||
|> assign(:page_title, Show.page_title(socket.assigns.live_action, record))
|
|> assign(:page_title, Show.page_title(socket.assigns.live_action, record))
|
||||||
|> assign(:record, record)
|
|> assign(:record, record)
|
||||||
end
|
end
|
||||||
@@ -208,15 +208,6 @@ defmodule MusicLibraryWeb.WishlistLive.Index do
|
|||||||
load_and_assign_records(socket, record_list_params)
|
load_and_assign_records(socket, record_list_params)
|
||||||
end
|
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
|
@impl true
|
||||||
def handle_info({MusicLibraryWeb.Components.RecordForm, {:saved, _record}}, socket) do
|
def handle_info({MusicLibraryWeb.Components.RecordForm, {:saved, _record}}, socket) do
|
||||||
{:noreply, load_and_assign_records(socket, socket.assigns.record_list_params)}
|
{:noreply, load_and_assign_records(socket, socket.assigns.record_list_params)}
|
||||||
|
|||||||
@@ -46,4 +46,12 @@ defmodule MusicLibraryWeb.LiveHelpers.Params do
|
|||||||
def merge_order(params, order) do
|
def merge_order(params, order) do
|
||||||
Map.put(params, :order, order)
|
Map.put(params, :order, order)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def apply_fallback_index(socket, params, stream_key, apply_action_fn) do
|
||||||
|
if get_in(socket.assigns, [:streams, stream_key]) == nil do
|
||||||
|
apply_action_fn.(socket, :index, params)
|
||||||
|
else
|
||||||
|
socket
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user