ML-189: simplify release-component notifications
- Use a tagged type - Leave skipping responsibility to subscribed process
This commit is contained in:
@@ -76,11 +76,8 @@ defmodule MusicLibraryWeb.Components.Release do
|
||||
)}
|
||||
end
|
||||
|
||||
defp notify_release_loaded(socket, release) do
|
||||
case socket.assigns[:on_release_loaded] do
|
||||
nil -> :ok
|
||||
tag -> send(self(), {tag, release})
|
||||
end
|
||||
defp notify_release_loaded(_socket, release) do
|
||||
send(self(), {__MODULE__, {:loaded, release}})
|
||||
end
|
||||
|
||||
defp apply_pending_form_params(socket) do
|
||||
|
||||
@@ -470,6 +470,10 @@ defmodule MusicLibraryWeb.CollectionLive.Show do
|
||||
RecordActions.handle_chats_changed(socket)
|
||||
end
|
||||
|
||||
def handle_info({MusicLibraryWeb.Components.Release, {:loaded, _release}}, socket) do
|
||||
{:noreply, socket}
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_info({:update, record}, socket) do
|
||||
cond do
|
||||
|
||||
@@ -38,7 +38,6 @@ defmodule MusicLibraryWeb.ScrobbleLive.ReleaseShow do
|
||||
release_id={@release_id}
|
||||
show_print?={false}
|
||||
timezone={@timezone}
|
||||
on_release_loaded={:release_loaded}
|
||||
/>
|
||||
</Layouts.app>
|
||||
"""
|
||||
@@ -65,7 +64,7 @@ defmodule MusicLibraryWeb.ScrobbleLive.ReleaseShow do
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_info({:release_loaded, release}, socket) do
|
||||
def handle_info({MusicLibraryWeb.Components.Release, {:loaded, release}}, socket) do
|
||||
{:noreply, assign(socket, :page_title, page_title(release))}
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user